wifi: mac80211: allow for_each_sta_active_link() under RCU
authorJohannes Berg <johannes.berg@intel.com>
Wed, 20 Sep 2023 18:25:16 +0000 (21:25 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Sep 2023 07:12:33 +0000 (09:12 +0200)
Since we only use this to protect the dereference and with
STA mutex, we can also allow this with just RCU.

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.73c3e04985f4.I52ef396d693e0e381a73eade06850137d8900948@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h

index 5b477c35e03babc4e0c535c2cdd12707d5221df5..6dbe775b9e8757267d7aef5b94a0d9bb2d5d61a7 100644 (file)
@@ -2393,7 +2393,7 @@ static inline bool lockdep_sta_mutex_held(struct ieee80211_sta *pubsta)
        for (link_id = 0; link_id < ARRAY_SIZE((sta)->link); link_id++)         \
                if ((!(vif)->active_links ||                                    \
                     (vif)->active_links & BIT(link_id)) &&                     \
-                   ((link_sta) = link_sta_dereference_protected(sta, link_id)))
+                   ((link_sta) = link_sta_dereference_check(sta, link_id)))
 
 /**
  * enum sta_notify_cmd - sta notify command