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

powerpc/eeh: Fix recursive locking on devices without EEH sensitive driver

The commit 1010b4c012b0 ("powerpc/eeh: Make EEH driver device hotplug
safe") refactored the EEH code such that the pci_rescan_remove_lock is
held at the beginning of eeh_handle_normal_event() and the
eeh_reset_device() is called with that lock being held. Looks like the
commit missed to remove the existing lock/unlock inside eeh_rmv_device()
which is no longer necessary. This is causing the eehd to hang on the
lock which it actually holds when that code path is taken.

[<0>] 0xc00000011c78f870
[<0>] __switch_to+0xfc/0x1a0
[<0>] pci_lock_rescan_remove+0x30/0x44
[<0>] eeh_rmv_device+0x290/0x2e0
[<0>] eeh_pe_dev_traverse+0x80/0x130
[<0>] eeh_reset_device+0xcc/0x23c
[<0>] eeh_handle_normal_event+0x830/0xa80
[<0>] eeh_event_handler+0xf8/0x190
[<0>] kthread+0x194/0x1b0
[<0>] start_kernel_thread+0x14/0x18

The issue is seen for cases where the errors are detected on the PHB
directly AND|OR for devices where the driver error_detected() returns
PCI_ERS_RESULT_NEED_RESET, and driver being not EEH sensitive(i.e no
error handlers like slot_reset(), resume() etc defined).
Published: 2026-09-25
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service through kernel deadlock
Action: Apply Patch
AI Analysis

Impact

The vulnerability is a concurrency flaw in the PowerPC EEH driver. When a device that lacks EEH‑sensitive handlers reports an error, the eeh_rmv_device() function still performs an unlock that is no longer needed. Because the pci_rescan_remove_lock is already held by eeh_handle_normal_event() when eeh_reset_device() is called, the redundant unlock causes the thread to block waiting for a lock it already holds, resulting in a deadlock and a kernel hang. The effect is a loss of kernel responsiveness and service availability, with no evidence of code execution or data disclosure.

Affected Systems

All Linux kernel builds for PowerPC platforms that include the EEH subsystem. The vulnerability applies to any kernel where the EEH driver is loaded, regardless of whether the attached device drivers are EEH‑sensitive. No specific kernel version is listed; the issue persists until the commit 1010b4c012b0 is applied.

Risk and Exploitability

The bug is triggered by hardware or driver error conditions on the PHB or by drivers that return PCI_ERS_RESULT_NEED_RESET without providing EEH‑sensitive handlers. The likely attack vector is local or system‑level, inferred from the requirement of an error state that activates the EEH error path. Exploitation therefore requires an error state that activates the EEH error path, making the attack vector local or system‑level. The EPSS score is not available and the vulnerability is not included in the CISA KEV catalog, indicating limited public exploit activity. Without a CVSS score, the fault’s severity can be inferred as moderate: it causes a denial of service via a kernel deadlock but offers no pathway to privilege escalation or remote code execution.

Generated by OpenCVE AI on September 25, 2026 at 19:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that contains commit 1010b4c012b0, which removes the unnecessary unlock from eeh_rmv_device().
  • Reboot the system after the kernel upgrade to ensure the new lock handling code is active.
  • If an immediate kernel upgrade is not possible, audit PowerPC EEH drivers and disable or replace any that are not EEH‑sensitive to prevent the deadlock from being triggered.

Generated by OpenCVE AI on September 25, 2026 at 19:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 19:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-667

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: powerpc/eeh: Fix recursive locking on devices without EEH sensitive driver The commit 1010b4c012b0 ("powerpc/eeh: Make EEH driver device hotplug safe") refactored the EEH code such that the pci_rescan_remove_lock is held at the beginning of eeh_handle_normal_event() and the eeh_reset_device() is called with that lock being held. Looks like the commit missed to remove the existing lock/unlock inside eeh_rmv_device() which is no longer necessary. This is causing the eehd to hang on the lock which it actually holds when that code path is taken. [<0>] 0xc00000011c78f870 [<0>] __switch_to+0xfc/0x1a0 [<0>] pci_lock_rescan_remove+0x30/0x44 [<0>] eeh_rmv_device+0x290/0x2e0 [<0>] eeh_pe_dev_traverse+0x80/0x130 [<0>] eeh_reset_device+0xcc/0x23c [<0>] eeh_handle_normal_event+0x830/0xa80 [<0>] eeh_event_handler+0xf8/0x190 [<0>] kthread+0x194/0x1b0 [<0>] start_kernel_thread+0x14/0x18 The issue is seen for cases where the errors are detected on the PHB directly AND|OR for devices where the driver error_detected() returns PCI_ERS_RESULT_NEED_RESET, and driver being not EEH sensitive(i.e no error handlers like slot_reset(), resume() etc defined).
Title powerpc/eeh: Fix recursive locking on devices without EEH sensitive driver
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-25T10:22:57.757Z

Reserved: 2026-09-25T10:18:58.204Z

Link: CVE-2026-97948

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:22.317

Modified: 2026-09-25T11:17:22.317

Link: CVE-2026-97948

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T19:30:20Z

Weaknesses