diff mbox series

[1/2] mac80211: use eth_hw_addr_set()

Message ID 20211019162816.1384077-1-kuba@kernel.org (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show
Series [1/2] mac80211: use eth_hw_addr_set() | expand

Commit Message

Jakub Kicinski Oct. 19, 2021, 4:28 p.m. UTC
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 mac80211 from memcpy(... ETH_ADDR) to eth_hw_addr_set():

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

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 net/mac80211/iface.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

Comments

Johannes Berg Oct. 19, 2021, 5:53 p.m. UTC | #1
On Tue, 2021-10-19 at 09:28 -0700, Jakub Kicinski wrote:
> 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.
> 
Looks fine. Do you expect me to apply this (and if so where), or will
you?

johannes
Jakub Kicinski Oct. 19, 2021, 6:06 p.m. UTC | #2
On Tue, 19 Oct 2021 19:53:01 +0200 Johannes Berg wrote:
> On Tue, 2021-10-19 at 09:28 -0700, Jakub Kicinski wrote:
> > 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.
> >   
> Looks fine. Do you expect me to apply this (and if so where), or will
> you?

I was expecting you to take these, there will be another -next PR
before the merge window, right?
Johannes Berg Oct. 19, 2021, 7:04 p.m. UTC | #3
On Tue, 2021-10-19 at 11:06 -0700, Jakub Kicinski wrote:
> On Tue, 19 Oct 2021 19:53:01 +0200 Johannes Berg wrote:
> > On Tue, 2021-10-19 at 09:28 -0700, Jakub Kicinski wrote:
> > > 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.
> > >   
> > > 
> > Looks fine. Do you expect me to apply this (and if so where), or will
> > you?
> 
> I was expecting you to take these, there will be another -next PR
> before the merge window, right?
> 
Yeah, I should have one.

johannes
diff mbox series

Patch

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 62c95597704b..878b919f22bb 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -1108,9 +1108,7 @@  int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
 	 * this interface, if it has the special null one.
 	 */
 	if (dev && is_zero_ether_addr(dev->dev_addr)) {
-		memcpy(dev->dev_addr,
-		       local->hw.wiphy->perm_addr,
-		       ETH_ALEN);
+		eth_hw_addr_set(dev, local->hw.wiphy->perm_addr);
 		memcpy(dev->perm_addr, dev->dev_addr, ETH_ALEN);
 
 		if (!is_valid_ether_addr(dev->dev_addr)) {
@@ -1964,9 +1962,9 @@  int ieee80211_if_add(struct ieee80211_local *local, const char *name,
 
 		ieee80211_assign_perm_addr(local, ndev->perm_addr, type);
 		if (is_valid_ether_addr(params->macaddr))
-			memcpy(ndev->dev_addr, params->macaddr, ETH_ALEN);
+			eth_hw_addr_set(ndev, params->macaddr);
 		else
-			memcpy(ndev->dev_addr, ndev->perm_addr, ETH_ALEN);
+			eth_hw_addr_set(ndev, ndev->perm_addr);
 		SET_NETDEV_DEV(ndev, wiphy_dev(local->hw.wiphy));
 
 		/* don't use IEEE80211_DEV_TO_SUB_IF -- it checks too much */