summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorCristian Papa <pcristian292@gmail.com>2026-09-03 22:07:02 -0300
committerFelix Fietkau <nbd@nbd.name>2026-10-06 11:50:52 +0200
commit456de496b53ae73e6e3020fec815dbdc88aa7c07 (patch)
tree37529873d21c898b406c7804274197a8f6721060 /tools/perf/scripts/python
parent5796b2bf9ff718342773ac760d86eb126c112a4f (diff)
downloadlinux-456de496b53ae73e6e3020fec815dbdc88aa7c07.tar.gz
linux-456de496b53ae73e6e3020fec815dbdc88aa7c07.zip
wifi: mt76: mt7603: initialize global station WCID
mt7603 uses a driver-private global station WCID for frames that have neither a station nor a vif, including frames injected through a monitor interface. Unlike the core global WCID initialized by mt76_register_device(), this WCID is published without ever being passed to mt76_wcid_init(). Since commit 0335c034e726 ("wifi: mt76: fix race condition related to checking tx queue fill status"), mt76_tx() queues every such frame on the WCID's tx_pending or tx_offchannel queue and links its tx_list. The first injected frame therefore reaches __skb_queue_tail() with an uninitialized sk_buff_head and dereferences a NULL prev pointer. Initialize the WCID before publishing it. The fix was tested on an MT7603 PCIe device. Three wildcard probe requests were injected through a monitor interface. The hardware queue head and tail advanced from 0 to 3 and a second radio captured the third request over the air. No oops or reset occurred. After restoring AP mode, a 150 MB transfer also completed without a reset. Fixes: 0335c034e726 ("wifi: mt76: fix race condition related to checking tx queue fill status") Cc: stable@vger.kernel.org Signed-off-by: Cristian Papa <pcristian292@gmail.com> Link: https://patch.msgid.link/20260904010702.16306-1-pcristian292@gmail.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions