diff options
| author | Devin Wittmayer <lucid_duck@justthetip.ca> | 2026-09-04 13:03:38 -0700 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2026-09-14 14:52:49 +0200 |
| commit | 2b04d6556964ae9f89819b86a0a7801e39c3aae5 (patch) | |
| tree | 8ab503fbe7a6125e59d0cfc0b0190178573810d8 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 06f42accaf3c6aecab1dcc57f68dde6c06c8b380 (diff) | |
| download | linux-2b04d6556964ae9f89819b86a0a7801e39c3aae5.tar.gz linux-2b04d6556964ae9f89819b86a0a7801e39c3aae5.zip | |
wifi: mac80211: refuse to make a monitor active when it has no queue
A monitor interface only gets a TXQ if it's created active, and one can't
be added later. Setting the flag on a down interface is still allowed, so
the driver is handed a monitor with no queue. ath9k dereferences it:
BUG: kernel NULL pointer dereference, address: 0000000000000066
RIP: 0010:ath_tx_node_init+0x49/0x170 [ath9k]
ath9k_add_interface+0x10c/0x140 [ath9k]
drv_add_interface+0x54/0x250 [mac80211]
ieee80211_do_open+0x32f/0x800 [mac80211]
Reached with CAP_NET_ADMIN by "iw dev X set monitor active" followed by
"ip link set X up". RTNL is held, so netlink operations block behind it.
Refuse the flag when there is no queue to give.
Fixes: 79af1f866193 ("mac80211: avoid allocating TXQs that won't be used")
Cc: stable@vger.kernel.org
Signed-off-by: Devin Wittmayer <lucid_duck@justthetip.ca>
Link: https://patch.msgid.link/20260904200338.10829-1-lucid_duck@justthetip.ca
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
