Description
In the Linux kernel, the following vulnerability has been resolved: gpio: mxc: fix race between chained IRQ handler install and probe completion mxc_update_irq_chained_handler() is called before the IRQ domain, the generic IRQ chip, and the port list entry are set up. If an interrupt arrives in that window: - mx3_gpio_irq_handler() calls generic_handle_domain_irq() with port->domain still NULL. - mx2_gpio_irq_handler() walks mxc_gpio_ports, but the port has not been added to the list yet. Additionally, if any of the subsequent probe steps (gpio_generic_chip_init(), devm_gpiochip_add_data(), irq_domain_create_legacy(), or mxc_gpio_init_gc()) fail, the error paths never unregister the chained handler, leaving a dangling handler that points at freed memory. Move the handler installation after all its dependencies are ready and after list_add_tail(), so the handler is never live while the data structures it touches are incomplete, and is never installed if probe fails.
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
5f6d1998adeb5374ef248b5ba2e2a0c30ab0f60b to < 261802c14e1a3281987ea8f106701e5ed9652f68affected5f6d1998adeb5374ef248b5ba2e2a0c30ab0f60b to < 6c1e035d881579a6e4ed1ce5feabb13d23e80a82affected5f6d1998adeb5374ef248b5ba2e2a0c30ab0f60b to < 38d44f78f041ffe60c8e2443b99434a199e7541daffected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected6.18.59 to ≤ 6.18.*unaffected7.2.13 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected