CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's irqchip/ts4800 driver, which fails to properly clean up chained interrupt handlers upon removal, potentially leading to kernel crashes due to access of freed memory. This issue arises from the lack of stored parent interrupt references and improper disposal of interrupt mappings, creating risks for systems relying on this driver. Linux system administrators and developers using the ts4800 driver should prioritize addressing this vulnerability to ensure system stability and prevent crashes.
Original NVD 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