gpio: rockchip: fix generic IRQ chip leak on remove
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.96, 6.18.36, 7.0.13
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: gpio: rockchip: fix generic IRQ chip leak on remove The driver allocates domain generic chips using irq_alloc_domain_generic_chips() during probe. However, on driver remove/teardown, the generic chips are not automatically freed when the IRQ domain is removed because the domain flags do not include IRQ_DOMAIN_FLAG_DESTROY_GC. This causes both the domain generic chips structure and the associated generic chips to be leaked. Additionally, the generic chips remain on the global gc_list and may later be visited by generic IRQ chip suspend, resume, or shutdown callbacks after the GPIO bank has been removed, potentially resulting in a use-after-free and kernel crash. Fix the resource leak by explicitly calling irq_domain_remove_generic_chips() before removing the IRQ domain in rockchip_gpio_remove().
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 936ee2675eee1faca0dcdfa79165c7990422e0fc · fixed in 6198123cac2ffd9d9a9d252dfa84ab81fb487ba3; From 936ee2675eee1faca0dcdfa79165c7990422e0fc · fixed in 50c7a6d2bf179588ba2daee97be93d19c96a94af; From 936ee2675eee1faca0dcdfa79165c7990422e0fc · fixed in bace7b99bfa555fe833aee8827b8004c43666d02; From 936ee2675eee1faca0dcdfa79165c7990422e0fc · fixed in 1f34ea5f6114011092d9a5c8b901ad6741144a1d; From 936ee2675eee1faca0dcdfa79165c7990422e0fc · fixed in 1c1e0fc88d6ef65bf15d517853251f75ab9d18c3
- Linux Linux
5.15
- KernelLinux
From 5.15.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.96; From 6.13.0 · fixed in 6.18.36; From 6.19.0 · fixed in 7.0.13