All vulnerabilities
CVE-2026-99189

Linux: gpio: mxc: fix race between chained IRQ handler install and probe completion

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in261802c14e1a3281987ea8f106701e5ed9652f68Also 6c1e035d881579a6e4ed1ce5feabb13d23e80a82, 38d44f78f041ffe60c8e2443b99434a199e7541dCVE List
Published28 Oct 2026Updated 28 Oct 2026CVE List

What fixes it

  • 261802c14e1a3281987ea8f106701e5ed9652f68LinuxCVE List
  • 6c1e035d881579a6e4ed1ce5feabb13d23e80a82LinuxCVE List
  • 38d44f78f041ffe60c8e2443b99434a199e7541dLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from CVE List

Affected versions 8

  • Linuxaffected: 5f6d1998adeb5374ef248b5ba2e2a0c30ab0f60b before 261802c14e1a3281987ea8f106701e5ed9652f68CVE List
  • Linuxaffected: 5f6d1998adeb5374ef248b5ba2e2a0c30ab0f60b before 6c1e035d881579a6e4ed1ce5feabb13d23e80a82CVE List
  • Linuxaffected: 5f6d1998adeb5374ef248b5ba2e2a0c30ab0f60b before 38d44f78f041ffe60c8e2443b99434a199e7541dCVE List
  • Linuxaffected: 6.6CVE List
  • Linuxunaffected: all versions before 6.6CVE List
  • Linuxunaffected: 6.18.59 through 6.18.*CVE List
  • Linuxunaffected: 7.2.13 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3