batman-adv: use eth_hw_addr_set() instead of ether_addr_copy()
authorJakub Kicinski <kuba@kernel.org>
Tue, 19 Oct 2021 16:39:27 +0000 (09:39 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Oct 2021 13:29:03 +0000 (14:29 +0100)
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.

Convert batman from ether_addr_copy() to eth_hw_addr_set():

  @@
  expression dev, np;
  @@
  - ether_addr_copy(dev->dev_addr, np)
  + eth_hw_addr_set(dev, np)

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/batman-adv/soft-interface.c

index 0604b02795731c27e42eeac8ad9bf06282036046..7ee09337fc40119398ad8eb29ed609050f276775 100644 (file)
@@ -134,7 +134,7 @@ static int batadv_interface_set_mac_addr(struct net_device *dev, void *p)
                return -EADDRNOTAVAIL;
 
        ether_addr_copy(old_addr, dev->dev_addr);
-       ether_addr_copy(dev->dev_addr, addr->sa_data);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        /* only modify transtable if it has been initialized before */
        if (atomic_read(&bat_priv->mesh_state) != BATADV_MESH_ACTIVE)