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 |
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
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?
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 --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 */
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(-)