CVE-2026-80621: PCI: dwc: Avoid dwc_pcie_rasdes_debugfs_deinit() NULL dereference when no RAS DES capability
In the Linux kernel, the following vulnerability has been resolved:
PCI: dwc: Avoid dwcpcierasdesdebugfsdeinit() NULL dereference when no RAS DES capability
dwcpcierasdesdebugfsinit() returns success when the controller has no RAS DES capability, leaving pci->debugfs->rasdesinfo unset. The common debugfs teardown path still calls dwcpcierasdesdebugfsdeinit(), which dereferences rasdesinfo unconditionally.
Return early when no RAS DES state was allocated. In that case no RAS DES mutex was initialized, so there is nothing to destroy.
[mani: reworded subject]
Affected Software
Event History
Frequently Asked Questions
Which systems are exposed to this NULL dereference?
Systems using the Linux kernel DesignWare PCIe debugfs support can be exposed when the controller does not provide RAS DES capability. In that condition, RAS DES initialization succeeds without allocating the rasdes_info state that teardown later dereferences.
When is the vulnerable code path triggered?
The issue occurs during the common debugfs teardown path, which calls dwc_pcie_rasdes_debugfs_deinit(). Exploitation requires reaching that teardown path after debugfs initialization on a controller with no RAS DES capability.
What condition indicates that the system is affected?
The affected condition is a DesignWare PCIe controller lacking RAS DES capability where pci->debugfs->rasdes_info remains unset. A NULL dereference can occur when the debugfs teardown path runs.