Description
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().
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
936ee2675eee1faca0dcdfa79165c7990422e0fc to < 6198123cac2ffd9d9a9d252dfa84ab81fb487ba3affected936ee2675eee1faca0dcdfa79165c7990422e0fc to < 50c7a6d2bf179588ba2daee97be93d19c96a94afaffected936ee2675eee1faca0dcdfa79165c7990422e0fc to < bace7b99bfa555fe833aee8827b8004c43666d02affected936ee2675eee1faca0dcdfa79165c7990422e0fc to < 1f34ea5f6114011092d9a5c8b901ad6741144a1daffected936ee2675eee1faca0dcdfa79165c7990422e0fc to < 1c1e0fc88d6ef65bf15d517853251f75ab9d18c3affected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected6.6.160 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.36 to ≤ 6.18.*unaffected7.0.13 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6198123cac2ffd9d9a9d252dfa84ab81fb487ba3 ↗
- https://git.kernel.org/stable/c/50c7a6d2bf179588ba2daee97be93d19c96a94af ↗
- https://git.kernel.org/stable/c/bace7b99bfa555fe833aee8827b8004c43666d02 ↗
- https://git.kernel.org/stable/c/1f34ea5f6114011092d9a5c8b901ad6741144a1d ↗
- https://git.kernel.org/stable/c/1c1e0fc88d6ef65bf15d517853251f75ab9d18c3 ↗