From: Jakub Kicinski <kuba@kernel.org>
Date: Wed, 13 Oct 2021 13:44:30 -0700
Subject: ethernet: make eth_hw_addr_random() use dev_addr_set()
Patch-mainline: v5.16-rc1
Git-commit: 54f2d8d6ca99a3e24efc9c8b055bbcbe0b583227
References: jsc#PED-1565
Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it got through appropriate helpers.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
include/linux/etherdevice.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/include/linux/etherdevice.h
+++ b/include/linux/etherdevice.h
@@ -262,8 +262,11 @@ static inline void eth_zero_addr(u8 *add
*/
static inline void eth_hw_addr_random(struct net_device *dev)
{
+ u8 addr[ETH_ALEN];
+
+ eth_random_addr(addr);
+ __dev_addr_set(dev, addr, ETH_ALEN);
dev->addr_assign_type = NET_ADDR_RANDOM;
- eth_random_addr(dev->dev_addr);
}
/**