CVE-2024-58093

PCI/ASPM: Fix link state exit during switch upstream function removal

published April 16, 2025

CVSS
—
EPSS
0%
Percentile
13.2
In the wild
Unconfirmed
What it is

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

PCI/ASPM: Fix link state exit during switch upstream function removal

Before 456d8aa37d0f ("PCI/ASPM: Disable ASPM on MFD function removal to

avoid use-after-free"), we would free the ASPM link only after the last

function on the bus pertaining to the given link was removed.

That was too late. If function 0 is removed before sibling function,

link->downstream would point to free'd memory after.

After above change, we freed the ASPM parent link state upon any function

removal on the bus pertaining to a given link.

That is too early. If the link is to a PCIe switch with MFD on the upstream

port, then removing functions other than 0 first would free a link which

still remains parent_link to the remaining downstream ports.

The resulting GPFs are especially frequent during hot-unplug, because

pciehp removes devices on the link bus in reverse order.

On that switch, function 0 is the virtual P2P bridge to the internal bus.

Free exactly when function 0 is removed -- before the parent link is

obsolete, but after all subordinate links are gone.

[kwilczynski: commit log]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00232 · 13.2th percentile
Published
2025-04-16T14:11Z
EPSS history
Timeline
  • 16 APR 14:11Z
    PCI/ASPM: Fix link state exit during switch upstream function removal
    cvelistv5