CVE-2024-26918: PCI: Fix active state requirement in PME polling
In the Linux kernel, the following vulnerability has been resolved:
PCI: Fix active state requirement in PME polling
The commit noted in fixes added a bogus requirement that runtime PM managed devices need to be in the RPMACTIVE state for PME polling. In fact, only devices in low power states should be polled.
However there's still a requirement that the device config space must be accessible, which has implications for both the current state of the polled device and the parent bridge, when present. It's not sufficient to assume the bridge remains in D0 and cases have been observed where the bridge passes the D0 test, but the PM state indicates RPMSUSPENDING and config space of the polled device becomes inaccessible during pcipmewakeup().
Therefore, since the bridge is already effectively required to be in the RPMACTIVE state, formalize this in the code and elevate the PM usage count to maintain the state while polling the subordinate device.
This resolves a regression reported in the bugzilla below where a Thunderbolt/USB4 hierarchy fails to scan for an attached NVMe endpoint downstream of a bridge in a D3hot power state.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-26918?
CVE-2024-26918 has been classified as a moderate severity vulnerability in the Linux kernel.
How do I fix CVE-2024-26918?
To fix CVE-2024-26918, update the Linux kernel to a version where the vulnerability has been patched.
What impact does CVE-2024-26918 have on system performance?
CVE-2024-26918 may potentially disrupt the performance of devices using runtime power management in the Linux kernel.
Is CVE-2024-26918 exploitable remotely?
CVE-2024-26918 does not appear to be remotely exploitable as it affects the internal mechanisms of the Linux kernel.
Which versions of the Linux kernel are affected by CVE-2024-26918?
CVE-2024-26918 affects specific versions of the Linux kernel that include the flawed implementation prior to the fix.