Executive brief
A vulnerability in the Rockchip GPIO driver within the Linux kernel can lead to system instability or crashes. The issue stems from improper cleanup when the driver is removed or encounters an error, specifically leaving behind active interrupt handlers and leaking system resources. In practice, this could result in a kernel panic (system crash) if a hardware interrupt occurs after the driver has been stopped.
Technical details
Multiple flaws exist in the 'remove' path and error handling of the Rockchip GPIO driver (drivers/gpio/gpio-rockchip.c). First, a debounce clock reference leak occurs because clk_put() is never called after of_clk_get(). Second, a chained IRQ handler is not disconnected during driver removal; if a stray interrupt fires after unbind, the kernel attempts to execute a stale handler, resulting in a panic. Third, the linear IRQ domain and associated generic chips are not freed, causing a memory leak. These issues are resolved by registering a devm action for clock release and explicitly clearing the IRQ handler and domain during teardown.
Affected products
- Linux Linux 5.15 to 6.12.96, 6.18.35, 7.0.12
Timeline
- 2026-05-26: other: Patch authored by Marco Scardovi
- 2026-07-24: advisory: NVD publication date