From: Madhuparna Bhowmik <[email protected]>
ieee80211_add_vht_ie() is called with sdata->wdev.mtx held from
ieee80211_send_assoc(). Add lockdep condition to avoid false positive
warnings.
Signed-off-by: Madhuparna Bhowmik <[email protected]>
---
net/mac80211/mlme.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 16d75da0996a..ef64b3e91ce6 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -590,7 +590,8 @@ static void ieee80211_add_vht_ie(struct ieee80211_sub_if_data *sdata,
bool disable_mu_mimo = false;
struct ieee80211_sub_if_data *other;
- list_for_each_entry_rcu(other, &local->interfaces, list) {
+ list_for_each_entry_rcu(other, &local->interfaces, list,
+ lockdep_is_held(&sdata->wdev.mtx)) {
if (other->vif.mu_mimo_owner) {
disable_mu_mimo = true;
break;
--
2.17.1
On Thu, 2020-04-09 at 13:59 +0530, [email protected] wrote:
> From: Madhuparna Bhowmik <[email protected]>
>
> ieee80211_add_vht_ie() is called with sdata->wdev.mtx held from
> ieee80211_send_assoc(). Add lockdep condition to avoid false positive
> warnings.
Again, wrong lock!
Over the course of the three patches, you've now claimed that any one of
* RTNL,
* local->iflist_mtx,
* local->mtx, and
* sdata->wdev.mtx
are sufficient to iterate the interface list, but only the first two are
really true.
johannes