mac80211: use eth_hw_addr_set()
Subsystems (2)
PATCH 1/2 mac80211: use eth_hw_addr_set()
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)
--- net/mac80211/iface.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
net/mac80211/iface.c +3 -5
@@ -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 */
Signature · 1 line
2.31.1
PATCH 2/2 cfg80211: prepare for const netdev->dev_addr
netdev->dev_addr will be const soon.
All callers of wdev_address() can take const already.
---
CC: [email protected]
CC: [email protected]
--- include/net/cfg80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/net/cfg80211.h +1 -1
@@ -5492,7 +5492,7 @@ struct wireless_dev {unsigned long unprot_beacon_reported; }; -static inline u8 *wdev_address (struct wireless_dev *wdev) +static inline const u8 *wdev_address (struct wireless_dev *wdev) {if (wdev->netdev)return wdev->netdev->dev_addr;
Signature · 1 line
2.31.1
Johannes Berg
maintainerQuoted 5 lines · Jakub Kicinski
Commit
406f42fa0d3c("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintainnetdev->dev_addrin 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
Quoted 8 lines · On Tue, 19 Oct 2021 19:53:01 +0200 Johannes Berg wrote:
Quoted 5 lines · Jakub Kicinski
Commit
406f42fa0d3c("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintainnetdev->dev_addrin 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
maintainerQuoted 8 lines · Jakub Kicinski
Quoted 7 lines · On Tue, 19 Oct 2021 19:53:01 +0200 Johannes Berg wrote:
Quoted 6 lines · Jakub Kicinski
Commit
406f42fa0d3c("net-next: When a bond have a massive amount of VLANs...") introduced a rbtree for faster Ethernet address look up. To maintainnetdev->dev_addrin this tree we need to make all the writes to it got through appropriate helpers.
Quoted 6 lines
Quoted 2 lines
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