diff options
| author | Fan Wu <fanwu01@zju.edu.cn> | 2026-08-06 13:02:33 +0000 |
|---|---|---|
| committer | Ulf Hansson <ulfh@kernel.org> | 2026-09-04 10:27:07 +0200 |
| commit | 6feadbecdae60a6324c967f3b1493741083793a3 (patch) | |
| tree | 0da233c4116d1d85313804befe5afe65c630254e /scripts/Makefile.thinlto | |
| parent | 90af7fde083e1b22c349c3a8b1626728e44e474c (diff) | |
| download | linux-next-6feadbecdae60a6324c967f3b1493741083793a3.tar.gz linux-next-6feadbecdae60a6324c967f3b1493741083793a3.zip | |
mmc: core: Cancel SDIO IRQ work before freeing host
A host controller that uses sdio_signal_irq() schedules host->sdio_irq_work
from its interrupt handler. That work is only cancelled on the suspend
path (mmc_sdio_suspend()), not on the remove/free path, so a worker armed
just before the controller freed its IRQ can run after
mmc_host_classdev_release() has freed the host and dereference it through
container_of().
Cancel host->sdio_irq_work in mmc_free_host(), like the existing
host->detect drain added by commit 1036f69e2513 ("mmc: core: Cancel
delayed work before releasing host").
This issue was found by an in-house static analysis tool.
Fixes: 682696605c70 ("mmc: sdio: Add API to manage SDIO IRQs from a workqueue")
Cc: stable@vger.kernel.org
Assisted-by: Codex:gpt-5.6
Signed-off-by: Fan Wu <fanwu01@zju.edu.cn>
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
