CVE-2025-23161

PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type

State
Published
Severity
Not scored
Published
May 1, 2025
Updated
May 11, 2026
Reserved
Jan 11, 2025

Read the record on cve.org

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 <lgoncalv@redhat.com> [kwilczynski: commit log] [bhelgaas: add back report info from https://lore.kernel.org/lkml/20241218115951.83062-1-ryotkkr98@gmail.com/]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 185a383ada2e7794b0e82e040223e741b24d2bf8 to before c250262d6485ca333e9821f85b07eb383ec546b1Affected
  • 185a383ada2e7794b0e82e040223e741b24d2bf8 to before c2968c812339593ac6e2bdd5cc3adabe3f05fa53Affected
  • 185a383ada2e7794b0e82e040223e741b24d2bf8 to before 13e5148f70e81991acbe0bab5b1b50ba699116e7Affected
  • 185a383ada2e7794b0e82e040223e741b24d2bf8 to before 5c3cfcf0b4bf43530788b08a8eaf7896ec567484Affected
  • 185a383ada2e7794b0e82e040223e741b24d2bf8 to before 2358046ead696ca5c7c628d6c0e2c6792619a3e5Affected
  • 185a383ada2e7794b0e82e040223e741b24d2bf8 to before 20d0a9062c031068fa39f725a32f182b709b5525Affected
  • 185a383ada2e7794b0e82e040223e741b24d2bf8 to before 18056a48669a040bef491e63b25896561ee14d90Affected
LinuxLinux
  • 4.5Affected
  • before 4.5Not affected
  • 5.15.181 through 5.15.*Not affected
  • 6.1.135 through 6.1.*Not affected
  • 6.6.88 through 6.6.*Not affected
  • 6.12.24 through 6.12.*Not affected
  • 6.13.12 through 6.13.*Not affected
  • 6.14.3 through 6.14.*Not affected
  • 6.15 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.