CVE-2026-98740
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-98740",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-18T16:17:27.707",
"lastModified": "2026-10-19T10:19:38.170",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nEDAC/altera: Drop __init from ECC setup paths for re-probe safety\n\nSashiko reports:\n\n\"Does suppressing sysfs unbinding fully prevent the execution of freed __init\nmemory? If altr_sysmgr_regmap_lookup_by_phandle() returns -EPROBE_DEFER, the\nprobe is deferred until after __init memory is freed.\"\n\nThe a10 EDAC .setup callbacks (sdmmc, ethernet, nand, dma, usb, qspi) and\ntheir helpers (altr_init_a10_ecc_device_type, altr_init_a10_ecc_block) were\nmarked __init. These run from the probe path, which may execute after init\nmemory is freed -- e.g. a probe deferred via -EPROBE_DEFER that only succeeds\nonce a late/module dependency appears, or a manual unbind/rebind. Calling\n__init code then dereferences freed memory. Remove __init so these functions\nremain valid at runtime."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/edac/altera_edac.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "788586efd116d6d7d05985881eda503333e702b4",
"lessThan": "9846b85c2eb8b749c3f14bdcc31b1070f6aabba8",
"versionType": "git",
"status": "affected"
},
{
"version": "788586efd116d6d7d05985881eda503333e702b4",
"lessThan": "4ec26cb7984740941892ad21fa974963c198bfaa",
"versionType": "git",
"status": "affected"
},
{
"version": "788586efd116d6d7d05985881eda503333e702b4",
"lessThan": "b62a264163ca51bee04785c581344751812395df",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/edac/altera_edac.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "5.2",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.2",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.56",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.10",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/4ec26cb7984740941892ad21fa974963c198bfaa",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/9846b85c2eb8b749c3f14bdcc31b1070f6aabba8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b62a264163ca51bee04785c581344751812395df",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}