EDAC/altera: Drop __init from ECC setup paths for re-probe safety
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.56, 7.2.10
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 788586efd116d6d7d05985881eda503333e702b4 · fixed in 9846b85c2eb8b749c3f14bdcc31b1070f6aabba8; From 788586efd116d6d7d05985881eda503333e702b4 · fixed in 4ec26cb7984740941892ad21fa974963c198bfaa; From 788586efd116d6d7d05985881eda503333e702b4 · fixed in b62a264163ca51bee04785c581344751812395df
- Linux Linux
5.2
- KernelLinux
From 5.2.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.2.10