powerpc/eeh: Fix recursive locking on devices without EEH sensitive driver
Published Sep 25, 2026
No CVSS score
EPSS 0.18%
Description
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).
Affected products
-
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints-
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints-
- Version StatusaffectedConstraints
- Version
-
- Version 5.10.241StatusaffectedConstraints<5.10.271
- Version 5.15.190StatusaffectedConstraints<5.15.222
- Version 6.1.148StatusaffectedConstraints<6.1.189
- Version 6.12.42StatusaffectedConstraints<6.12.111
- Version 6.15.10StatusaffectedConstraints<6.16
- Version 6.16.1StatusaffectedConstraints<6.17
- Version 6.6.102StatusaffectedConstraints<6.6.158
- Version
-
- Version 6.17StatusaffectedConstraints-
- Version 0StatusunaffectedConstraints<6.17
- Version 5.10.271StatusunaffectedConstraints<=5.10.*
- Version 5.15.222StatusunaffectedConstraints<=5.15.*
- Version 6.1.189StatusunaffectedConstraints<=6.1.*
- Version 6.12.111StatusunaffectedConstraints<=6.12.*
- Version 6.18.53StatusunaffectedConstraints<=6.18.*
- Version 6.6.158StatusunaffectedConstraints<=6.6.*
- Version 7.2.7StatusunaffectedConstraints<=7.2.*
- Version 7.3-rc3StatusunaffectedConstraints<=*
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux | unaffected |
| |||||||||||||||||||||||||||||||||
| Linux | Linux | unaffected |
| |||||||||||||||||||||||||||||||||
| Linux | Linux | affected |
|
No data.
No data.
No Red Hat product state for this CVE.
No package ranges for this CVE.
Remediation
No remediation recorded yet.
No CWE recorded.
References (9)
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-86802 Advisory
- https://git.kernel.org/stable/c/102e3dc5ab5ba052e294819e83384166b242c1ec
- https://git.kernel.org/stable/c/24524fca27da674668941440e8e05cdfec0b0222
- https://git.kernel.org/stable/c/2920af33d097ca335e492b346af70b72986ad6dc
- https://git.kernel.org/stable/c/3833dfae0680b6b16e2469fbc90aa48376311cd8
- https://git.kernel.org/stable/c/460fab22b65138531082910702f74b048b25237b
- https://git.kernel.org/stable/c/85d8eaefc052cf3e5ae2c7bafeda2db68b8898b4
- https://git.kernel.org/stable/c/a58531181363219fa5de2b53d5d7274dcdfca98b
- https://git.kernel.org/stable/c/c5e68706527968282e49de205cc2b935823cb88a
Change history (0)
No recorded changes yet.