Hello Fan Wu.
On Wed, 12 Aug 2026 06:17:14 +0000, Fan Wu wrote:
> The FIFOP interrupt handler queues cc2520_fifop_irqwork. On removal,
> cc2520_remove() only flushes the work. The devm-managed FIFOP IRQ
> remains active until after ->remove() returns and can queue the work
> again after that flush, allowing it to run after the private data is
> released.
>
> Disable the work with disable_work_sync() instead of flushing it, so
> the handler can no longer queue it once removal begins. Destroy the
> buffer mutex last, since the worker and the stop callback invoked
> through ieee802154_unregister_hw() both take it.
>
> [...]
Applied to wpan/wpan.git, thanks!
[1/1] ieee802154: cc2520: fix FIFOP work use-after-free
https://git.kernel.org/wpan/wpan/c/ff5891b266a7
regards,
Stefan Schmidt