CVE-2022-49434

MEDIUM

Linux Kernel - Deadlock via PCI Device Lock and Config Space Access Lock

Title source: llm
STIX 2.1

Description

In the Linux kernel, the following vulnerability has been resolved: PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store() The sysfs sriov_numvfs_store() path acquires the device lock before the config space access lock: sriov_numvfs_store device_lock # A (1) acquire device lock sriov_configure vfio_pci_sriov_configure # (for example) vfio_pci_core_sriov_configure pci_disable_sriov sriov_disable pci_cfg_access_lock pci_wait_cfg # B (4) wait for dev->block_cfg_access == 0 Previously, pci_dev_lock() acquired the config space access lock before the device lock: pci_dev_lock pci_cfg_access_lock dev->block_cfg_access = 1 # B (2) set dev->block_cfg_access = 1 device_lock # A (3) wait for device lock Any path that uses pci_dev_lock(), e.g., pci_reset_function(), may deadlock with sriov_numvfs_store() if the operations occur in the sequence (1) (2) (3) (4). Avoid the deadlock by reversing the order in pci_dev_lock() so it acquires the device lock before the config space access lock, the same as the sriov_numvfs_store() path. [bhelgaas: combined and adapted commit log from Jay Zhou's independent subsequent posting: https://lore.kernel.org/r/[email protected]]

Scores

CVSS v3 5.5
EPSS 0.0021
EPSS Percentile 10.5%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Details

CWE
CWE-667
Status published
Products (26)
linux/Kernel 4.13.0 - 4.14.283linux
linux/Kernel 4.15.0 - 4.19.247linux
linux/Kernel 4.20.0 - 5.4.198linux
linux/Kernel 5.11.0 - 5.15.46linux
linux/Kernel 5.16.0 - 5.17.14linux
linux/Kernel 5.18.0 - 5.18.3linux
linux/Kernel 5.5.0 - 5.10.121linux
Linux/Linux < 4.13
Linux/Linux 17530e71e0166a37f8e20a9b7bcf1d50ae3cff8e - 2cdd5284035322795b0964f899eefba254cfe483
Linux/Linux 17530e71e0166a37f8e20a9b7bcf1d50ae3cff8e - 59ea6b3ae51df7cd6bfd84c9c0030609b9315622
... and 16 more
Published Feb 26, 2025
Tracked Since Feb 18, 2026