Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2026-89440

mmc: via-sdmmc: stop card-detect handling on probe failure

Description

In the Linux kernel, the following vulnerability has been resolved: mmc: via-sdmmc: stop card-detect handling on probe failure request_irq() registers the SD card-detect interrupt and the probe enables it before mmc_add_host() runs. If mmc_add_host() fails, the error path only unmaps the registers and returns: the interrupt stays registered, so the handler keeps running against the host once it is freed. via_sdc_isr() dereferences sdhost and its MMIO base and schedules carddet_work, which via_sdc_card_detect() also runs against freed memory through its container_of() dereference. Add a probe-error path that disables and frees the interrupt and cancels carddet_work before unmapping. carddet_work can re-enable the device interrupt via via_reset_pcictrl(), which restores PCIINTCTRL, so mask it again after cancelling the work. This issue was found by an in-house static analysis tool and confirmed by manual code review.

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

  • 63400da6cd37a9793c19bb6aed7131b58b975a04 to < 5bb5327b92aae17e91c7228953c350a6ee3c94e8affected
  • 0959cc1685eb19774300d43ef25e318b457b156b to < d045596706d1b25d38af4a79980b017639fea9d1affected
  • ba91b413983a9235792523c6b9f7ba2586c4d75d to < 806409f12fdb14c9e4c56a64494c9b75f356cd49affected
  • e4e46fb61e3bb4628170810d3f2b996b709b90d9 to < dde5b9c91e9fc64e54a2f186d3ae95868b4dbb02affected
  • e4e46fb61e3bb4628170810d3f2b996b709b90d9 to < efe7f25dd27e35063477b4b0e7eed3675669fd99affected
  • e4e46fb61e3bb4628170810d3f2b996b709b90d9 to < 2550f89589caad7402d618d7dffc038582c94b6baffected
  • e4e46fb61e3bb4628170810d3f2b996b709b90d9 to < c2b8a624911999399cc14822fec3e35032b3cee4affected
  • e4e46fb61e3bb4628170810d3f2b996b709b90d9 to < 088eaa92fcebaa6b957ccf9635afdf39643a577daffected
  • 076bcd2c93e16b05c10564e299d6e5d26a766d00affected
  • 12b8e81b77c05c658efd9cde3585bbd65ae39b59affected
  • 95025a8dd0ec015872f6c16473fe04d6264e68caaffected
  • f59ef2a47a228e51322ad76752a55a8917c56e38affected
  • 0ec94795114edc7e24ec71849dce42bfa61dafa3affected
  • 5.10.163 to < 5.10.270affected
  • 5.15.86 to < 5.15.221affected
  • 6.1.2 to < 6.1.188affected
  • 4.9.337 to < 4.10affected
  • 4.14.303 to < 4.15affected
  • 4.19.270 to < 4.20affected
  • 5.4.229 to < 5.5affected
  • 6.0.16 to < 6.1affected

Linux Linux

Default version status: affected

  • 6.2affected
  • 0 to < 6.2unaffected
  • 5.10.270 to ≤ 5.10.*unaffected
  • 5.15.221 to ≤ 5.15.*unaffected
  • 6.1.188 to ≤ 6.1.*unaffected
  • 6.6.157 to ≤ 6.6.*unaffected
  • 6.12.109 to ≤ 6.12.*unaffected
  • 6.18.50 to ≤ 6.18.*unaffected
  • 7.2.4 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References