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.
Published: 2026-10-18
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption leading to potential code execution
Action: Apply patch
AI Analysis

Impact

In the Linux kernel, several EDAC/altera setup callbacks—including sdmmc, ethernet, nand, dma, usb, qspi—and their helper functions were mistakenly marked with the __init attribute. These functions run during probe paths that can execute after the __init memory region has been freed, such as when a probe is deferred via –EPROBE_DEFER or during a manual unbind/rebind. The consequence is a use‑after‑free scenario that exposes the kernel to memory corruption and potentially arbitrary code execution in privileged mode. Additionally, the misuse of __init in these callbacks signifies an improper initialization flaw (CWE‑825).

Affected Systems

All Linux kernel builds that contain the EDAC/altera driver and the affected __init functions are subject to the flaw. No specific vendor or version list is provided, so any kernel prior to the fix that includes these callbacks is potentially vulnerable.

Risk and Exploitability

The CVSS score of 4.1 is relatively low, and the EPSS score is below 1%, indicating a low likelihood of exploitation. However, the flaw can still be triggered by local actions that manipulate probe timing or module bindings; an attacker with the ability to load or rebind modules can cause the freed memory to be dereferenced, leading to privilege escalation or denial of service. The vulnerability is not listed in CISA’s KEV catalog, but the attack vector is plausible for users with kernel module privileges.

Generated by OpenCVE AI on October 23, 2026 at 22:33 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the system to a Linux kernel version that has removed the __init attribute from the affected EDAC/altera callbacks.
  • If a kernel update is not immediately available, edit the kernel source to delete the __init keyword from the following functions: sdmmc, ethernet, nand, dma, usb, qspi, altr_init_a10_ecc_device_type, and altr_init_a10_ecc_block, then rebuild and install the kernel.
  • Reboot the machine to load the patched kernel.

Generated by OpenCVE AI on October 23, 2026 at 22:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 20:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sun, 18 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
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.
Title EDAC/altera: Drop __init from ECC setup paths for re-probe safety
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:24:50.943Z

Reserved: 2026-09-25T10:25:14.367Z

Link: CVE-2026-98740

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:27.707

Modified: 2026-10-19T10:19:38.170

Link: CVE-2026-98740

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98740 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T22:45:14Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference