Description
In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu/ras: add ras_suspend callback and use it for cp_ecc_error_irq

cp_ecc_error_irq is acquired in amdgpu_gfx_ras_late_init() but
released in gfx_v9_0_hw_fini(), so the put site has to query
amdgpu_irq_enabled() because the get is skipped on SR-IOV VF.

ras_late_init / ras_fini have no suspend counterpart, so move the
put to amdgpu_gfx_ras_suspend() / amdgpu_gfx_ras_fini() and add a
matching ras_suspend callback that is invoked from
amdgpu_ras_suspend() before disable_all_features(). The get and
put now sit in the same place and check the same condition (not
VF, funcs registered), no refcount querying needed.

An active flag gates ras_fini so the
suspend-then-unload-without-resume path falls into
amdgpu_ras_block_late_fini_default() instead of double-releasing
what ras_suspend already cleaned up.

Drop the cp_ecc_error_irq put from gfx_v9_0_hw_fini(). gfx_v8_0
manages cp_ecc_error_irq locally and is unaffected; no other GFX
generation has this IRQ.
Published: 2026-09-24
Score: n/a
EPSS: n/a
KEV: No
Impact: Potential kernel crash from double release of cp_ecc_error_irq
Action: Patch Now
AI Analysis

Impact

The amdgpu driver in the Linux kernel acquired the cp_ecc_error_irq interrupt during late initialization but released it during hardware finalization, creating a mismatch that allows the interrupt handler to be released twice in a SR‑IOV virtual function context. The double release can decrement the handler reference count incorrectly, trigger a kernel panic, and result in a denial of service. This weakness corresponds to an improper release of a reference‑counted resource (CWE‑416).

Affected Systems

All builds of the Linux kernel that include the amdgpu graphics driver are affected, excluding kernel configurations that use GFX generation 8.0 where the interrupt is managed locally. The problem exists in any kernel before the commit that introduces a ras_suspend callback and removes the premature cp_ecc_error_irq put, regardless of distribution or patch level.

Risk and Exploitability

No CVSS score is publicly available, the EPSS score is not reported, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires kernel‑level privileges or the ability to unload the amdgpu driver or trigger driver unload during a suspend scenario. Without such privileges the likelihood is low, but if privilege escalation is already achieved, the path to a kernel crash becomes straightforward and highly impactful.

Generated by OpenCVE AI on September 25, 2026 at 05:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a release that contains the amdgpu/ras commit adding a ras_suspend callback and removing the premature cp_ecc_error_irq put.
  • If an immediate kernel upgrade is not possible, unload or blacklist the amdgpu module so the driver does not load until a patch is available.
  • After applying the updated kernel, reboot the system so the new driver version is loaded and the issue is fully resolved.

Generated by OpenCVE AI on September 25, 2026 at 05:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 05:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/ras: add ras_suspend callback and use it for cp_ecc_error_irq cp_ecc_error_irq is acquired in amdgpu_gfx_ras_late_init() but released in gfx_v9_0_hw_fini(), so the put site has to query amdgpu_irq_enabled() because the get is skipped on SR-IOV VF. ras_late_init / ras_fini have no suspend counterpart, so move the put to amdgpu_gfx_ras_suspend() / amdgpu_gfx_ras_fini() and add a matching ras_suspend callback that is invoked from amdgpu_ras_suspend() before disable_all_features(). The get and put now sit in the same place and check the same condition (not VF, funcs registered), no refcount querying needed. An active flag gates ras_fini so the suspend-then-unload-without-resume path falls into amdgpu_ras_block_late_fini_default() instead of double-releasing what ras_suspend already cleaned up. Drop the cp_ecc_error_irq put from gfx_v9_0_hw_fini(). gfx_v8_0 manages cp_ecc_error_irq locally and is unaffected; no other GFX generation has this IRQ.
Title drm/amdgpu/ras: add ras_suspend callback and use it for cp_ecc_error_irq
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-09-24T16:03:37.028Z

Reserved: 2026-09-24T14:53:16.868Z

Link: CVE-2026-97424

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:20.340

Modified: 2026-09-24T17:17:20.340

Link: CVE-2026-97424

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T05:15:17Z

Weaknesses