CVE-2024-56760: PCI/MSI: Handle lack of irqdomain gracefully
In the Linux kernel, the following vulnerability has been resolved:
PCI/MSI: Handle lack of irqdomain gracefully
Alexandre observed a warning emitted from pcimsisetupmsiirqs() on a RISCV platform which does not provide PCI/MSI support:
WARNING: CPU: 1 PID: 1 at drivers/pci/msi/msi.h:121 pcimsisetupmsiirqs+0x2c/0x32 pcienablemsixrange+0x30c/0x596 pcimsisetupmsiirqs+0x2c/0x32 pciallocirqvectorsaffinity+0xb8/0xe2
RISCV uses hierarchical interrupt domains and correctly does not implement the legacy fallback. The warning triggers from the legacy fallback stub.
That warning is bogus as the PCI/MSI layer knows whether a PCI/MSI parent domain is associated with the device or not. There is a check for MSI-X, which has a legacy assumption. But that legacy fallback assumption is only valid when legacy support is enabled, but otherwise the check should simply return -ENOTSUPP.
Loongarch tripped over the same problem and blindly enabled legacy support without implementing the legacy fallbacks. There are weak implementations which return an error, so the problem was papered over.
Correct pcimsidomainsupports() to evaluate the legacy mode and add the missing supported check into the MSI enable path to complete it.
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-56760?
CVE-2024-56760 has not been assigned a common vulnerability scoring system (CVSS) score, but it has been noted to cause warnings in specific environments.
How does CVE-2024-56760 affect the Linux kernel?
CVE-2024-56760 affects the Linux kernel by causing warnings related to PCI/MSI support on RISCV platforms.
What versions of the Linux kernel are impacted by CVE-2024-56760?
CVE-2024-56760 affects Linux kernel versions from 6.2 up to 6.6.69, as well as certain release candidates like 6.13-rc1 to 6.13-rc4.
How can I mitigate the issues caused by CVE-2024-56760?
Mitigation for CVE-2024-56760 involves upgrading the Linux kernel to a version where this issue has been resolved.
Is there a patch available for CVE-2024-56760?
Yes, the maintainers of the Linux kernel have released patches to address the CVE-2024-56760 vulnerability.