All vulnerabilities
CVE-2026-98740

Linux: EDAC/altera: Drop __init from ECC setup paths for re-probe safety

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

What fixes it

  • 9846b85c2eb8b749c3f14bdcc31b1070f6aabba8LinuxCVE List
  • 4ec26cb7984740941892ad21fa974963c198bfaaLinuxCVE 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:

EDAC/altera: Drop __init from ECC setup paths for re-probe safety

Sashiko reports:

"Does suppressing sysfs unbinding fully prevent the execution of freed __init memory? If altr_sysmgr_regmap_lookup_by_phandle() returns -EPROBE_DEFER, the probe is deferred until after __init memory is freed."

The a10 EDAC .setup callbacks (sdmmc, ethernet, nand, dma, usb, qspi) and their helpers (altr_init_a10_ecc_device_type, altr_init_a10_ecc_block) were marked __init. These run from the probe path, which may execute after init memory is freed -- e.g. a probe deferred via -EPROBE_DEFER that only succeeds once a late/module dependency appears, or a manual unbind/rebind. Calling __init code then dereferences freed memory. Remove __init so these functions remain valid at runtime.

Text from CVE List

Affected versions 8

  • Linuxaffected: 788586efd116d6d7d05985881eda503333e702b4 before 9846b85c2eb8b749c3f14bdcc31b1070f6aabba8CVE List
  • Linuxaffected: 788586efd116d6d7d05985881eda503333e702b4 before 4ec26cb7984740941892ad21fa974963c198bfaaCVE List
  • Linuxaffected: 788586efd116d6d7d05985881eda503333e702b4 before b62a264163ca51bee04785c581344751812395dfCVE List
  • Linuxaffected: 5.2CVE List
  • Linuxunaffected: all versions before 5.2CVE List
  • Linuxunaffected: 6.18.56 through 6.18.*CVE List
  • Linuxunaffected: 7.2.10 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3