CVE-2025-23161

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/05/2025
Last modified:
05/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type<br /> <br /> The access to the PCI config space via pci_ops::read and pci_ops::write is<br /> a low-level hardware access. The functions can be accessed with disabled<br /> interrupts even on PREEMPT_RT. The pci_lock is a raw_spinlock_t for this<br /> purpose.<br /> <br /> A spinlock_t becomes a sleeping lock on PREEMPT_RT, so it cannot be<br /> acquired with disabled interrupts. The vmd_dev::cfg_lock is accessed in<br /> the same context as the pci_lock.<br /> <br /> Make vmd_dev::cfg_lock a raw_spinlock_t type so it can be used with<br /> interrupts disabled.<br /> <br /> This was reported as:<br /> <br /> BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48<br /> Call Trace:<br /> rt_spin_lock+0x4e/0x130<br /> vmd_pci_read+0x8d/0x100 [vmd]<br /> pci_user_read_config_byte+0x6f/0xe0<br /> pci_read_config+0xfe/0x290<br /> sysfs_kf_bin_read+0x68/0x90<br /> <br /> [bigeasy: reword commit message]<br /> Tested-off-by: Luis Claudio R. Goncalves <br /> [kwilczynski: commit log]<br /> [bhelgaas: add back report info from<br /> https://lore.kernel.org/lkml/20241218115951.83062-1-ryotkkr98@gmail.com/]

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.181 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.135 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.88 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.24 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.13.12 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.14 (including) 6.14.3 (excluding)
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*