v4 [1] used list_first_or_null_rcu() plus an rcu_access_pointer() check
on the sole entry's list.next to confirm it was the only chanctx. As
Johannes pointed out [2], list.next is not an __rcu pointer, so that
check trips a sparse warning, and his original loop is cleaner. v5 walks
chanctx_list with list_for_each_entry_rcu() and takes the sole entry
instead, which builds clean.
v5 also switches the stable tag to the noautosel opt-out, since the fix
can crash older drivers and should not be auto-backported.
No functional change from v4, so the v3 Tested-by carries. I rebuilt v5
and reran the monitor injection test on mt7921e here, no crash.
[1] https://lore.kernel.org/linux-wireless/20260519235713.49109-1-lucid_duck@justthetip.ca/
[2] https://lore.kernel.org/linux-wireless/978c9a11cf836680b1fd9365f3b90f028ddf5372.camel@sipsolutions.net/
傅继晗 (1):
wifi: mac80211: fix monitor mode frame capture for real chanctx
drivers
net/mac80211/tx.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
--
2.54.0