Description
In the Linux kernel, the following vulnerability has been resolved: irqchip/ts4800: Fix missing chained handler cleanup on remove The driver installs a chained handler for the parent interrupt during probe using irq_set_chained_handler_and_data(), but the remove function does not clear this handler. This leaves a dangling handler that may be called when the parent interrupt fires after the driver has been removed, potentially accessing freed memory and causing a kernel crash. Additionally, the parent_irq obtained via irq_of_parse_and_map() is not stored, making it inaccessible in the remove function. Moreover, interrupt mappings created during probe are not properly disposed. Fix this by: - Saving parent_irq in probe - Clearing the chained handler with NULL in ts4800_ic_remove() - Disposing all IRQ mappings before domain removal to prevent resource leaks
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d01f8633d52e4dac5ee598b87d49fd23346ccfd6 to < b5b2b2cb6a91908e6c23958c9ce6d5ba2fdb686caffectedd01f8633d52e4dac5ee598b87d49fd23346ccfd6 to < e6b674dc341c6add7d85bec2ec22caf1aad35795affectedd01f8633d52e4dac5ee598b87d49fd23346ccfd6 to < 3f31f49afffa169cd01e6c37568c4df3eb1051afaffectedd01f8633d52e4dac5ee598b87d49fd23346ccfd6 to < 4e8d498d32b6c67d73bb8b317ff316ff37897a3eaffectedd01f8633d52e4dac5ee598b87d49fd23346ccfd6 to < 9ed0dca2aa05908b33ecf0bb15c7953947529542affectedd01f8633d52e4dac5ee598b87d49fd23346ccfd6 to < 98bf7e54cec07d514b3575c11896a8b12d50ecc4affected
Linux Linux
Default version status: affected
4.5affected0 to < 4.5unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/b5b2b2cb6a91908e6c23958c9ce6d5ba2fdb686c ↗
- https://git.kernel.org/stable/c/e6b674dc341c6add7d85bec2ec22caf1aad35795 ↗
- https://git.kernel.org/stable/c/3f31f49afffa169cd01e6c37568c4df3eb1051af ↗
- https://git.kernel.org/stable/c/4e8d498d32b6c67d73bb8b317ff316ff37897a3e ↗
- https://git.kernel.org/stable/c/9ed0dca2aa05908b33ecf0bb15c7953947529542 ↗
- https://git.kernel.org/stable/c/98bf7e54cec07d514b3575c11896a8b12d50ecc4 ↗