CVE-2026-97948 PUBLISHED

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

Assigner: Linux
Reserved: 25.09.2026 Published: 25.09.2026 Updated: 25.09.2026

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).

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from d2c60a8a387e9fcc28447ef36c03f8e49fd052a6 to 102e3dc5ab5ba052e294819e83384166b242c1ec (excl.)
  • affected from 1010b4c012b0d78dfb9d3132b49aa2ef024a07a7 to 2920af33d097ca335e492b346af70b72986ad6dc (excl.)
  • affected from 1010b4c012b0d78dfb9d3132b49aa2ef024a07a7 to 85d8eaefc052cf3e5ae2c7bafeda2db68b8898b4 (excl.)
  • affected from 1010b4c012b0d78dfb9d3132b49aa2ef024a07a7 to c5e68706527968282e49de205cc2b935823cb88a (excl.)
  • Version 502f08831a9afb72dc98a56ae6504da43e93b250 is affected
  • Version f56e004b781719d8fdf6c9619b15caf2579bc1f2 is affected
  • Version 59c6d3d81d42bf543c90597b4f38c53d6874c5a1 is affected
  • Version a426e8a6ae161f51888585b065db0f8f93ab2e16 is affected
  • Version d42bbd8f30ac38b1ce54715bf08ec3dac18d6b25 is affected
  • Version 19d5036e7ad766cf212aebec23b9f1d7924a62bc is affected
  • affected from 6.12.42 to 6.12.111 (excl.)
  • affected from 5.10.241 to 5.11 (excl.)
  • affected from 5.15.190 to 5.16 (excl.)
  • affected from 6.1.148 to 6.2 (excl.)
  • affected from 6.6.102 to 6.7 (excl.)
  • affected from 6.15.10 to 6.16 (excl.)
  • affected from 6.16.1 to 6.17 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.17 is affected
  • unaffected from 0 to 6.17 (excl.)
  • unaffected from 6.12.111 to 6.12.* (incl.)
  • unaffected from 6.18.53 to 6.18.* (incl.)
  • unaffected from 7.2.7 to 7.2.* (incl.)
  • unaffected from 7.3-rc3 to * (incl.)

References