OSDN Git Service

wireless: mac80211_hwsim: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Mon, 18 Oct 2021 23:50:17 +0000 (16:50 -0700)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 21 Oct 2021 14:46:28 +0000 (16:46 +0200)
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>
Link: https://lore.kernel.org/r/20211018235021.1279697-12-kuba@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/mac80211_hwsim.c

index 2d09e99..dba10d5 100644 (file)
@@ -3653,13 +3653,16 @@ static const struct net_device_ops hwsim_netdev_ops = {
 
 static void hwsim_mon_setup(struct net_device *dev)
 {
+       u8 addr[ETH_ALEN];
+
        dev->netdev_ops = &hwsim_netdev_ops;
        dev->needs_free_netdev = true;
        ether_setup(dev);
        dev->priv_flags |= IFF_NO_QUEUE;
        dev->type = ARPHRD_IEEE80211_RADIOTAP;
-       eth_zero_addr(dev->dev_addr);
-       dev->dev_addr[0] = 0x12;
+       eth_zero_addr(addr);
+       addr[0] = 0x12;
+       eth_hw_addr_set(dev, addr);
 }
 
 static struct mac80211_hwsim_data *get_hwsim_data_ref_from_addr(const u8 *addr)