CVE-2024-46750

MediumCVSS 5.5/10Last modified Oct 15, 2026

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/20240711193650.701834-1-kbusch@meta.com]

Metrics

CVSS 3.1 5.5/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= 090a3c5322e900f468b3205b76d0837003ad57b2, < 0790b89c7e911003b8c50ae50e3ac7645de1fae9; >= 090a3c5322e900f468b3205b76d0837003ad57b2, < df77a678c33871a6e4ac5b54a71662f1d702335b; >= 090a3c5322e900f468b3205b76d0837003ad57b2, < e2355d513b89a2cb511b4ded0deb426cdb01acd0; >= 090a3c5322e900f468b3205b76d0837003ad57b2, < 04e85a3285b0e5c5af6fd2c0fd6e95ffecc01945; >= 090a3c5322e900f468b3205b76d0837003ad57b2, < 7253b4fed46471cc247c6cacefac890a8472c083; >= 090a3c5322e900f468b3205b76d0837003ad57b2, < 78c6e39fef5c428960aff742149bba302dd46f5a; >= 090a3c5322e900f468b3205b76d0837003ad57b2, < 81c68e218ab883dfa368460a59b674084c0240da; >= 090a3c5322e900f468b3205b76d0837003ad57b2, < a4e772898f8bf2e7e1cf661a12c60a5612c4afab
LinuxLinux3.12
SiemensSIMATIC S7-1500 CPU 1518-4 PN/DP MFP>= V3.1.0, < V3.1.5
SiemensSIMATIC S7-1500 CPU 1518-4 PN/DP MFP>= V3.1.0, < V3.1.5
SiemensSIMATIC S7-1500 CPU 1518F-4 PN/DP MFP>= V3.1.0, < V3.1.5
SiemensSIMATIC S7-1500 CPU 1518F-4 PN/DP MFP>= V3.1.0, < V3.1.5
SiemensSIMATIC S7-1500 TM MFP - GNU/Linux subsystem< V1.1.1
SiemensSIPLUS S7-1500 CPU 1518-4 PN/DP MFP>= V3.1.0, < V3.1.5
SiemensRUGGEDCOM RST2428P< V3.2
SiemensSCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family< V3.2
SiemensSCALANCE XCM-/XRM-/XCH-/XRH-300 family< V3.2

References

Timeline

Published
Sep 18, 2024
Last modified
Oct 15, 2026
NVD status
Modified

Related CVEs from 2024

CVE-2024-467515.5In the Linux kernel, the following vulnerability has been resolved: btrfs: don't BUG_ON() when 0 reference count at btrfs_lookup_extent_infCVE-2024-467525.5In the Linux kernel, the following vulnerability has been resolved: btrfs: replace BUG_ON() with error handling at update_ref_for_cow() InCVE-2024-467535.5In the Linux kernel, the following vulnerability has been resolved: btrfs: handle errors from btrfs_dec_ref() properly In walk_up_proc() wCVE-2024-467545.5In the Linux kernel, the following vulnerability has been resolved: bpf: Remove tst_run from lwt_seg6local_prog_ops. The syzbot reported tCVE-2024-467555.5In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() mCVE-2024-467597.8In the Linux kernel, the following vulnerability has been resolved: hwmon: (adc128d818) Fix underflows seen when writing limit attributes CVE-2024-46766.1A vulnerability was found in Campcodes Complete Web-Based School Management System 1.0 and classified as problematic. This issue affects somCVE-2024-467605.5In the Linux kernel, the following vulnerability has been resolved: wifi: rtw88: usb: schedule rx work after everything is set up Right noCVE-2024-467615.5In the Linux kernel, the following vulnerability has been resolved: pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv The hotplug dCVE-2024-467625.5In the Linux kernel, the following vulnerability has been resolved: xen: privcmd: Fix possible access to a freed kirqfd instance Nothing pCVE-2024-467635.5In the Linux kernel, the following vulnerability has been resolved: fou: Fix null-ptr-deref in GRO. We observed a null-ptr-deref in fou_grCVE-2024-467647.1In the Linux kernel, the following vulnerability has been resolved: bpf: add check for invalid name in btf_name_valid_section() If the len
CVE-2024-46750: Medium severity, CVSS 5.5 | Vulnix