CVE-2024-56701

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-56701
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-56701.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-56701
Downstream
Related
Published
2024-12-28T09:46:23.516Z
Modified
2025-11-28T02:34:19.513748Z
Summary
powerpc/pseries: Fix dtl_access_lock to be a rw_semaphore
Details

In the Linux kernel, the following vulnerability has been resolved:

powerpc/pseries: Fix dtlaccesslock to be a rw_semaphore

The dtlaccesslock needs to be a rw_sempahore, a sleeping lock, because the code calls kmalloc() while holding it, which can sleep:

# echo 1 > /proc/powerpc/vcpudispatchstats BUG: sleeping function called from invalid context at include/linux/sched/mm.h:337 inatomic(): 1, irqsdisabled(): 0, nonblock: 0, pid: 199, name: sh preemptcount: 1, expected: 0 3 locks held by sh/199: #0: c00000000a0743f8 (sbwriters#3){.+.+}-{0:0}, at: vfswrite+0x324/0x438 #1: c0000000028c7058 (dtlenablemutex){+.+.}-{3:3}, at: vcpudispatchstatswrite+0xd4/0x5f4 #2: c0000000028c70b8 (dtlaccesslock){+.+.}-{2:2}, at: vcpudispatchstatswrite+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: dumpstacklvl+0x130/0x148 (unreliable) _mightresched+0x174/0x410 kmemcacheallocnoprof+0x340/0x3d0 allocdtlbuffers+0x124/0x1ac vcpudispatchstatswrite+0x2a8/0x5f4 procregwrite+0xf4/0x150 vfswrite+0xfc/0x438 ksyswrite+0x88/0x148 systemcallexception+0x1c4/0x5a0 systemcallcommon+0xf4/0x258

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/56xxx/CVE-2024-56701.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
06220d78f24a20549757be1014e57c382406cc92
Fixed
6956c0e7346ce1bbfc726755aa8da10d26e84276
Fixed
f6ec133668757f84e5143f1eb141fd0b83778b9e
Fixed
fa5b5ea257135e771b489c83a2e93b5935d0108e
Fixed
a246daa26b717e755ccc9061f47f7cd1c0b358dd
Fixed
b125d0cf1adde7b2b47d7337fed7e9133eea3463
Fixed
525e18f1ba7c2b098c8ba587fb397efb34a6574c
Fixed
cadae3a45d23aa4f6485938a67cbc47aaaa25e38

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.3.0
Fixed
5.10.231
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.174
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.120
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.64
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.11.11
Type
ECOSYSTEM
Events
Introduced
6.12.0
Fixed
6.12.2