CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's lp8788 charger driver, specifically in the handling of IRQs and work queues during device removal. An attacker could exploit this use-after-free condition to execute arbitrary code or cause a denial of service by queuing work after the device resources have been freed. Organizations using Linux systems with this driver should prioritize patching to mitigate potential risks associated with this vulnerability.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: power: supply: lp8788-charger: fix use-after-free on remove lp8788_charger_remove() flushes charger_work before unregistering the IRQs. An IRQ thread can queue charger_work after flush_work() has returned. The work can then run after devres frees pchg and dereference it in lp8788_charger_event(). Unregister the IRQs first. free_irq() waits for any running threaded handler, so no handler can queue more work afterwards. Then use cancel_work_sync() to cancel pending work or wait for running work to finish. This issue was found by an in-house static analysis tool.