On Thu, 10 Sep 2026 02:09:07 +0000, Fan Wu wrote:
wcn36xx_dxe_deinit() tears down the TX ack timer with timer_delete(),
which only dequeues the timer and does not wait for a callback that is
already executing; the preceding free_irq() calls synchronize the
interrupt handlers only. The callback, wcn36xx_dxe_tx_timer(), can
therefore be running past the teardown and use the wcn freed along
with the ieee80211_hw in wcn36xx_remove(): it takes wcn->dxe_lock,
reads wcn->tx_ack_skb and passes wcn->hw to
ieee80211_tx_status_irqsafe().
[...]
Applied, thanks!
[1/1] wifi: wcn36xx: Fix potential use-after-free in TX ack timer teardown
commit: d9be5e75530772fc31637070d51e5717d6aeaa2a
Best regards,
--
Jeff Johnson [off-list ref]