]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mac80211: fix list iteration in ieee80211_add_virtual_monitor()
authorDmitry Antipov <dmantipov@yandex.ru>
Thu, 4 Dec 2025 13:05:33 +0000 (16:05 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 16 Dec 2025 09:21:12 +0000 (10:21 +0100)
Since 'mon_list' of 'struct ieee80211_local' is RCU-protected and
an instances of 'struct ieee80211_sub_if_data' are linked there
via 'u.mntr.list' member, adjust the corresponding list iteration
in 'ieee80211_add_virtual_monitor()' accordingly.

Reported-by: syzbot+bc1aabf52d0a31e91f96@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=bc1aabf52d0a31e91f96
Fixes: a5aa46f1ac4f ("wifi: mac80211: track MU-MIMO configuration on disabled interfaces")
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Link: https://patch.msgid.link/20251204130533.340069-1-dmantipov@yandex.ru
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/iface.c

index 4f04d95c19d494ff2b83f3f2e344c99c5fac83e6..7b0aa24c1f97ca3567848502fbb44561d32ba1d2 100644 (file)
@@ -1251,7 +1251,7 @@ configure_monitor:
        if (!creator_sdata) {
                struct ieee80211_sub_if_data *other;
 
-               list_for_each_entry(other, &local->mon_list, list) {
+               list_for_each_entry_rcu(other, &local->mon_list, u.mntr.list) {
                        if (!other->vif.bss_conf.mu_mimo_owner)
                                continue;