[PATCH v2 0/4] mfd: tps65217: Handle IRQ initialization errors
Жамбакиев Радий Рикардинович <[email protected]>
| Newsgroups | org.kernel.vger.linux-omap,dev.linux.lists.mfd,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This series fixes the error handling in the IRQ setup and teardown paths of the TPS65217 MFD driver. Patch 1 propagates the error from tps65217_irq_init() in probe, so a failed irq_domain creation does not leave a NULL domain behind that tps65217_remove() would later dereference. Patch 2 propagates the error of the initial register write in tps65217_irq_init(), so a failed mask write cannot leave the software mask out of sync with the hardware. Patch 3 fixes the irq_domain leak and the resulting use-after-free when probe fails after the domain has been created. Patch 4 fixes the NULL pointer dereference in the remove callback on devices probed without an interrupt, quiesces the parent interrupt before the domain is torn down, and balances enable_irq_wake(). Changes since v1: - added "mfd: tps65217: Fix irq_domain leak and use-after-free on probe failure" - added "mfd: tps65217: Fix NULL pointer dereference in remove callback" Patches 3 and 4 fix the in-scope findings of the Sashiko AI review. The remaining findings, in my opinion, are out of scope for this series and may be addressed in separate follow-up patches. Radiy Zhambakiev (4): mfd: tps65217: Fix NULL pointer dereference on IRQ init failure mfd: tps65217: Check return value when masking interrupt sources mfd: tps65217: Fix irq_domain leak and use-after-free on probe failure mfd: tps65217: Fix NULL pointer dereference in remove callback drivers/mfd/tps65217.c | 68 ++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 19 deletions(-) -- 2.53.0