In the Linux kernel, the following vulnerability has been resolved:
PCI: Fix pcislottrylock() error handling
Commit a4e772898f8b ("PCI: Add missing bridge lock to pcibuslock()") delegates the bridge device's pcidevtrylock() to pcibustrylock() in pcislottrylock(), but it forgets to remove the corresponding pcidevunlock() when pcibustrylock() fails.
Before a4e772898f8b, the code did:
if (!pcidevtrylock(dev)) /* <- lock bridge device / goto unlock; if (dev->subordinate) { if (!pcibustrylock(dev->subordinate)) { pcidevunlock(dev); / <- unlock bridge device */ goto unlock; } }
After a4e772898f8b the bridge-device lock is no longer taken, but the pcidevunlock(dev) on the failure path was left in place, leading to the bug.
This yields one of two errors:
Fix it by removing the now-redundant pcidevunlock(dev) on the failure path.
[Same patch later posted by Keith at https://patch.msgid.link/20260116184150.3013258-1-kbusch@meta.com]
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43211.json",
"cna_assigner": "Linux"
}