powerpc/pseries: Fix dtl_access_lock to be a rw_semaphore
The dtl_access_lock needs to be a rw_sempahore, a sleeping lock, because
the code calls kmalloc() while holding it, which can sleep:
# echo 1 > /proc/powerpc/vcpudispatch_stats
BUG: sleeping function called from invalid context at include/linux/sched/mm.h:337
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 199, name: sh
preempt_count: 1, expected: 0
3 locks held by sh/199:
#0: c00000000a0743f8 (sb_writers#3){.+.+}-{0:0}, at: vfs_write+0x324/0x438
#1: c0000000028c7058 (dtl_enable_mutex){+.+.}-{3:3}, at: vcpudispatch_stats_write+0xd4/0x5f4
#2: c0000000028c70b8 (dtl_access_lock){+.+.}-{2:2}, at: vcpudispatch_stats_write+0x220/0x5f4
CPU: 0 PID: 199 Comm: sh Not tainted 6.10.0-rc4 #152
Hardware name: IBM pSeries (emulated by qemu) POWER9 (raw) 0x4e1202 0xf000005 of:SLOF,HEAD hv:linux,kvm pSeries
Call Trace:
dump_stack_lvl+0x130/0x148 (unreliable)
__might_resched+0x174/0x410
kmem_cache_alloc_noprof+0x340/0x3d0
alloc_dtl_buffers+0x124/0x1ac
vcpudispatch_stats_write+0x2a8/0x5f4
proc_reg_write+0xf4/0x150
vfs_write+0xfc/0x438
ksys_write+0x88/0x148
system_call_exception+0x1c4/0x5a0
system_call_common+0xf4/0x258
Metrics
Affected Vendors & Products
Source | ID | Title |
---|---|---|
![]() |
DLA-4076-1 | linux-6.1 security update |
![]() |
EUVD-2024-53349 | Malicious code in bioql (PyPI) |
![]() |
USN-7276-1 | Linux kernel vulnerabilities |
![]() |
USN-7277-1 | Linux kernel vulnerabilities |
![]() |
USN-7310-1 | Linux kernel vulnerabilities |
![]() |
USN-7387-1 | Linux kernel vulnerabilities |
![]() |
USN-7387-2 | Linux kernel (FIPS) vulnerabilities |
![]() |
USN-7387-3 | Linux kernel (Real-time) vulnerabilities |
![]() |
USN-7388-1 | Linux kernel vulnerabilities |
![]() |
USN-7389-1 | Linux kernel (NVIDIA Tegra) vulnerabilities |
![]() |
USN-7390-1 | Linux kernel (Xilinx ZynqMP) vulnerabilities |
![]() |
USN-7407-1 | Linux kernel (HWE) vulnerabilities |
![]() |
USN-7421-1 | Linux kernel (Azure) vulnerabilities |
![]() |
USN-7449-1 | Linux kernel vulnerabilities |
![]() |
USN-7449-2 | Linux kernel (HWE) vulnerabilities |
![]() |
USN-7450-1 | Linux kernel vulnerabilities |
![]() |
USN-7451-1 | Linux kernel vulnerabilities |
![]() |
USN-7452-1 | Linux kernel vulnerabilities |
![]() |
USN-7453-1 | Linux kernel (Real-time) vulnerabilities |
![]() |
USN-7458-1 | Linux kernel (IBM) vulnerabilities |
![]() |
USN-7459-1 | Linux kernel (Intel IoTG) vulnerabilities |
![]() |
USN-7459-2 | Linux kernel (GCP) vulnerabilities |
![]() |
USN-7468-1 | Linux kernel (Azure, N-Series) vulnerabilities |
![]() |
USN-7523-1 | Linux kernel (Raspberry Pi Real-time) vulnerabilities |
![]() |
USN-7524-1 | Linux kernel (Raspberry Pi) vulnerabilities |
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Mon, 06 Oct 2025 17:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Weaknesses | NVD-CWE-noinfo | |
CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | |
Metrics |
cvssV3_1
|
cvssV3_1
|
Tue, 04 Mar 2025 15:00:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Weaknesses | CWE-667 | |
Metrics |
cvssV3_1
|
cvssV3_1
|
Mon, 30 Dec 2024 01:30:00 +0000
Type | Values Removed | Values Added |
---|---|---|
References |
| |
Metrics |
threat_severity
|
cvssV3_1
|
Sat, 28 Dec 2024 10:00:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Description | In the Linux kernel, the following vulnerability has been resolved: powerpc/pseries: Fix dtl_access_lock to be a rw_semaphore The dtl_access_lock needs to be a rw_sempahore, a sleeping lock, because the code calls kmalloc() while holding it, which can sleep: # echo 1 > /proc/powerpc/vcpudispatch_stats BUG: sleeping function called from invalid context at include/linux/sched/mm.h:337 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 199, name: sh preempt_count: 1, expected: 0 3 locks held by sh/199: #0: c00000000a0743f8 (sb_writers#3){.+.+}-{0:0}, at: vfs_write+0x324/0x438 #1: c0000000028c7058 (dtl_enable_mutex){+.+.}-{3:3}, at: vcpudispatch_stats_write+0xd4/0x5f4 #2: c0000000028c70b8 (dtl_access_lock){+.+.}-{2:2}, at: vcpudispatch_stats_write+0x220/0x5f4 CPU: 0 PID: 199 Comm: sh Not tainted 6.10.0-rc4 #152 Hardware name: IBM pSeries (emulated by qemu) POWER9 (raw) 0x4e1202 0xf000005 of:SLOF,HEAD hv:linux,kvm pSeries Call Trace: dump_stack_lvl+0x130/0x148 (unreliable) __might_resched+0x174/0x410 kmem_cache_alloc_noprof+0x340/0x3d0 alloc_dtl_buffers+0x124/0x1ac vcpudispatch_stats_write+0x2a8/0x5f4 proc_reg_write+0xf4/0x150 vfs_write+0xfc/0x438 ksys_write+0x88/0x148 system_call_exception+0x1c4/0x5a0 system_call_common+0xf4/0x258 | |
Title | powerpc/pseries: Fix dtl_access_lock to be a rw_semaphore | |
References |
|
|

Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-05-04T10:02:49.180Z
Reserved: 2024-12-27T15:00:39.856Z
Link: CVE-2024-56701

No data.

Status : Analyzed
Published: 2024-12-28T10:15:17.620
Modified: 2025-10-06T17:38:54.657
Link: CVE-2024-56701


Updated: 2025-07-12T15:42:29Z