summaryrefslogtreecommitdiff
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2023-09-20 21:25:15 +0300
committerJohannes Berg <johannes.berg@intel.com>2023-09-25 09:12:33 +0200
commit8a58fc1ce487a77dc9c87e12682b5297e4a030fa (patch)
treef0010f589934ddbb46ed4dcfb529a2d5861a6e08 /include/net/mac80211.h
parentc09c4f31998bac6d73508e38812518aceb069b68 (diff)
wifi: mac80211: relax RCU check in for_each_vif_active_link()
To iterate the vif links we don't necessarily need to be in an RCU critical section, it's also possible to hold the sdata/wdev mutex. Annotate for_each_vif_active_link() accordingly. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230920211508.858921bd2860.I01f456be8ce2a4fbd15e0d44302e2f7d72e91987@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 0f6390865fe7..5b477c35e03b 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1942,7 +1942,7 @@ static inline bool ieee80211_vif_is_mld(const struct ieee80211_vif *vif)
for (link_id = 0; link_id < ARRAY_SIZE((vif)->link_conf); link_id++) \
if ((!(vif)->active_links || \
(vif)->active_links & BIT(link_id)) && \
- (link = rcu_dereference((vif)->link_conf[link_id])))
+ (link = link_conf_dereference_check(vif, link_id)))
static inline bool ieee80211_vif_is_mesh(struct ieee80211_vif *vif)
{