CVE-2025-23161
Description
In the Linux kernel, the following vulnerability has been resolved: PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type The access to the PCI config space via pci_ops::read and pci_ops::write is a low-level hardware access. The functions can be accessed with disabled interrupts even on PREEMPT_RT. The pci_lock is a raw_spinlock_t for this purpose. A spinlock_t becomes a sleeping lock on PREEMPT_RT, so it cannot be acquired with disabled interrupts. The vmd_dev::cfg_lock is accessed in the same context as the pci_lock. Make vmd_dev::cfg_lock a raw_spinlock_t type so it can be used with interrupts disabled. This was reported as: BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 Call Trace: rt_spin_lock+0x4e/0x130 vmd_pci_read+0x8d/0x100 [vmd] pci_user_read_config_byte+0x6f/0xe0 pci_read_config+0xfe/0x290 sysfs_kf_bin_read+0x68/0x90 [bigeasy: reword commit message] Tested-off-by: Luis Claudio R. Goncalves <[email protected]> [kwilczynski: commit log] [bhelgaas: add back report info from https://lore.kernel.org/lkml/[email protected]/]
How to fix
- linux linux_kernel5.15.181, 6.1.135, 6.6.88, 6.12.24, 6.13.12, 6.14.3 or later
- git.kernel.org/stable/c/13e5148f70e81991acbe0bab5b1b50ba699116e7
- git.kernel.org/stable/c/18056a48669a040bef491e63b25896561ee14d90
- git.kernel.org/stable/c/20d0a9062c031068fa39f725a32f182b709b5525
- git.kernel.org/stable/c/2358046ead696ca5c7c628d6c0e2c6792619a3e5
- git.kernel.org/stable/c/5c3cfcf0b4bf43530788b08a8eaf7896ec567484
- git.kernel.org/stable/c/c250262d6485ca333e9821f85b07eb383ec546b1
- git.kernel.org/stable/c/c2968c812339593ac6e2bdd5cc3adabe3f05fa53
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | v < 5.15.181, 5.16 ≤ v < 6.1.135, 6.2 ≤ v < 6.6.88, 6.7 ≤ v < 6.12.24, 6.13 ≤ v < 6.13.12, 6.14 ≤ v < 6.14.3 | 5.15.181, 6.1.135, 6.6.88, 6.12.24, 6.13.12, 6.14.3 |
| debian debian_linux | 11.0 | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.