All vulnerabilities
CVE-2026-98564

Linux: net: dsa: mt7530: leave the MDIO IRQ mappings to regmap-irq

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.20%Chance of exploitation activity in the next 30 days, higher than 9% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in2357c682f6eaf639dec88c68b3c0c93a3b802635Also 0d80ba0a204c6a16bd7778b50de578dff107c0feCVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 2357c682f6eaf639dec88c68b3c0c93a3b802635LinuxCVE List
  • 0d80ba0a204c6a16bd7778b50de578dff107c0feLinuxCVE 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:

net: dsa: mt7530: leave the MDIO IRQ mappings to regmap-irq

mt7530_remove_common() disposes the per-PHY interrupt mappings from .remove, but the regmap-irq chip that owns the domain is devm-registered, so its parent interrupt is only freed once .remove has returned. The switch's own regmap-irq thread can therefore still dispatch on a mapping that is already gone: irq_find_mapping() returns 0, irq_to_desc() returns NULL and handle_nested_irq() locks desc->lock without checking it. The attached PHYs have not given those interrupts back yet either, which the kernel warns about a moment before the fault.

regmap_del_irq_chip() disposes the same mappings itself, after freeing the parent interrupt and before removing the domain, so there is nothing left for the driver to do here. Until it runs the descriptors stay alive, and a late dispatch on one of them is harmless: dsa_unregister_switch() has freed the PHY handlers by then, so handle_nested_irq() finds no action and returns.

Text from CVE List

Affected versions 8

  • Linuxaffected: 254f6b272e3b67bf31c42ee9da62a449d74d1478 before 2357c682f6eaf639dec88c68b3c0c93a3b802635CVE List
  • Linuxaffected: 254f6b272e3b67bf31c42ee9da62a449d74d1478 before f306e465b5a2091cd3fe3dd0feb10cfc94cfb2f8CVE List
  • Linuxaffected: 254f6b272e3b67bf31c42ee9da62a449d74d1478 before 0d80ba0a204c6a16bd7778b50de578dff107c0feCVE List
  • Linuxaffected: 6.15CVE List
  • Linuxunaffected: all versions before 6.15CVE List
  • Linuxunaffected: 6.18.55 through 6.18.*CVE List
  • Linuxunaffected: 7.2.9 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3