diff options
| author | Rosen Penev <rosenp@gmail.com> | 2026-07-30 12:14:20 -0700 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2026-08-10 18:28:56 +1000 |
| commit | aacf3a6c47b30e7e32cf2ed954c19730a32dbe5f (patch) | |
| tree | 2dd30c24c6d2ef86e92ea47fae3121a6eec043d7 /tools/perf/scripts/python/stackcollapse.py | |
| parent | e5658c60414627502ed1e9aea77a3086d53e100a (diff) | |
crypto: amcc - fix racy teardown with devm_request_irq
The driver uses devm_request_irq() for the IRQ, but cleans up the
tasklet and DMA rings inside the remove function. Since devres frees
the IRQ only after the remove function returns, a window exists where a
pending hardware interrupt can reschedule the tasklet after it has been
killed, leading to use-after-free of the descriptor rings.
Fix by switching to plain request_irq() and adding the corresponding
free_irq() calls in the remove function and the probe error path before
tasklet_kill(), ensuring the IRQ is fully torn down before the tasklet
is killed.
Rename goto error path to err_tasklet as that's more descriptive.
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
