summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorZhao Li <enderaoelyther@gmail.com>2026-09-10 14:54:02 +0800
committerJohannes Berg <johannes.berg@intel.com>2026-09-22 10:47:51 +0200
commite588e83e5c7a0f6d7a77dbbb58927c8c8cfd598e (patch)
tree23ba506bae33f3a3f8bafa6b5f7ef073c640b0d2 /tools/perf/scripts/python/stackcollapse.py
parent6bdcdb31318c10e6369cff8e5b32c37397e98091 (diff)
downloadlinux-e588e83e5c7a0f6d7a77dbbb58927c8c8cfd598e.tar.gz
linux-e588e83e5c7a0f6d7a77dbbb58927c8c8cfd598e.zip
wifi: mac80211: shut down RX BA session timer on teardown
Tearing down an RX BA session can leave the session timer queued on a freed tid_rx. Later timer-wheel processing and the timer callback itself then run against freed memory. An RX BAR handler can dereference tid_rx under RCU before teardown unpublishes it and stay in its read-side critical section while teardown deletes the session timer. The stale handler can then rearm the timer after timer_delete_sync() returns and before the RCU callback frees tid_rx. Use timer_shutdown_sync() so rearm attempts become ineffective once teardown starts. Keep reorder_timer unchanged: teardown marks the session removed under reorder_lock and its release path checks that state before rearming. session_timer has no equivalent guard because ieee80211_rx_h_ctrl() rearms it before taking reorder_lock. Fixes: a87f736d942c ("mac80211: use RCU for RX aggregation") Cc: stable@kernel.org # 5.15+ Assisted-by: LLM sparse kasan Signed-off-by: Zhao Li <enderaoelyther@gmail.com> 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