CVE Database
/

CVE-2024-46750

Back to search

CVE-2024-46750

Published: Sep 18, 2024

Modified: May 12, 2026

PUBLISHED

Description

In the Linux kernel, the following vulnerability has been resolved: PCI: Add missing bridge lock to pci_bus_lock() One of the true positives that the cfg_access_lock lockdep effort identified is this sequence: WARNING: CPU: 14 PID: 1 at drivers/pci/pci.c:4886 pci_bridge_secondary_bus_reset+0x5d/0x70 RIP: 0010:pci_bridge_secondary_bus_reset+0x5d/0x70 Call Trace: <TASK> ? __warn+0x8c/0x190 ? pci_bridge_secondary_bus_reset+0x5d/0x70 ? report_bug+0x1f8/0x200 ? handle_bug+0x3c/0x70 ? exc_invalid_op+0x18/0x70 ? asm_exc_invalid_op+0x1a/0x20 ? pci_bridge_secondary_bus_reset+0x5d/0x70 pci_reset_bus+0x1d8/0x270 vmd_probe+0x778/0xa10 pci_device_probe+0x95/0x120 Where pci_reset_bus() users are triggering unlocked secondary bus resets. Ironically pci_bus_reset(), several calls down from pci_reset_bus(), uses pci_bus_lock() before issuing the reset which locks everything *but* the bridge itself. For the same motivation as adding: bridge = pci_upstream_bridge(dev); if (bridge) pci_dev_lock(bridge); to pci_reset_function() for the "bus" and "cxl_bus" reset cases, add pci_dev_lock() for @bus->self to pci_bus_lock(). [bhelgaas: squash in recursive locking deadlock fix from Keith Busch: https://lore.kernel.org/r/[email protected]]

VendorProductVersions

Linux

Linux

affected
090a3c5322e900f468b3205b76d0837003ad57b2 - < 0790b89c7e911003b8c50ae50e3ac7645de1fae9
affected
090a3c5322e900f468b3205b76d0837003ad57b2 - < df77a678c33871a6e4ac5b54a71662f1d702335b
affected
090a3c5322e900f468b3205b76d0837003ad57b2 - < e2355d513b89a2cb511b4ded0deb426cdb01acd0
affected
090a3c5322e900f468b3205b76d0837003ad57b2 - < 04e85a3285b0e5c5af6fd2c0fd6e95ffecc01945
affected
090a3c5322e900f468b3205b76d0837003ad57b2 - < 7253b4fed46471cc247c6cacefac890a8472c083

+3 more versions

Linux

Linux

affected
3.12
unaffected
0 - < 3.12
unaffected
4.19.322 - <= 4.19.*
unaffected
5.4.284 - <= 5.4.*
unaffected
5.10.226 - <= 5.10.*

+5 more versions

Security Training

Train your team to recognize and prevent security threats with our comprehensive security awareness program.

Start Training

Vulnerability Scanning

Discover vulnerabilities in your applications and infrastructure before attackers do.

Scan Now