---
id: CVE-2024-56701
title: 'powerpc/pseries: Fix dtl_access_lock to be a rw_semaphore'
summary: |-
  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 holdi…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 06220d78f24a20549757be1014e57c382406cc92 <
    6956c0e7346ce1bbfc726755aa8da10d26e84276
  - >-
    Linux >= 06220d78f24a20549757be1014e57c382406cc92 <
    f6ec133668757f84e5143f1eb141fd0b83778b9e
  - >-
    Linux >= 06220d78f24a20549757be1014e57c382406cc92 <
    fa5b5ea257135e771b489c83a2e93b5935d0108e
  - >-
    Linux >= 06220d78f24a20549757be1014e57c382406cc92 <
    a246daa26b717e755ccc9061f47f7cd1c0b358dd
  - >-
    Linux >= 06220d78f24a20549757be1014e57c382406cc92 <
    b125d0cf1adde7b2b47d7337fed7e9133eea3463
  - >-
    Linux >= 06220d78f24a20549757be1014e57c382406cc92 <
    525e18f1ba7c2b098c8ba587fb397efb34a6574c
  - >-
    Linux >= 06220d78f24a20549757be1014e57c382406cc92 <
    cadae3a45d23aa4f6485938a67cbc47aaaa25e38
  - Linux 5.3
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:29:56.658433Z'
published: '2024-12-28'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:31:26.017Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2024-56701'
references:
  - url: 'https://git.kernel.org/stable/c/6956c0e7346ce1bbfc726755aa8da10d26e84276'
  - url: 'https://git.kernel.org/stable/c/f6ec133668757f84e5143f1eb141fd0b83778b9e'
  - url: 'https://git.kernel.org/stable/c/fa5b5ea257135e771b489c83a2e93b5935d0108e'
  - url: 'https://git.kernel.org/stable/c/a246daa26b717e755ccc9061f47f7cd1c0b358dd'
  - url: 'https://git.kernel.org/stable/c/b125d0cf1adde7b2b47d7337fed7e9133eea3463'
  - url: 'https://git.kernel.org/stable/c/525e18f1ba7c2b098c8ba587fb397efb34a6574c'
  - url: 'https://git.kernel.org/stable/c/cadae3a45d23aa4f6485938a67cbc47aaaa25e38'
tags:
  - cve.org
epss: 0.00208
epssPercentile: 0.10931
ingestedAt: '2026-11-05T22:38:31.838Z'
---

## Overview

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

## Affected

- `Linux >= 06220d78f24a20549757be1014e57c382406cc92 < 6956c0e7346ce1bbfc726755aa8da10d26e84276`
- `Linux >= 06220d78f24a20549757be1014e57c382406cc92 < f6ec133668757f84e5143f1eb141fd0b83778b9e`
- `Linux >= 06220d78f24a20549757be1014e57c382406cc92 < fa5b5ea257135e771b489c83a2e93b5935d0108e`
- `Linux >= 06220d78f24a20549757be1014e57c382406cc92 < a246daa26b717e755ccc9061f47f7cd1c0b358dd`
- `Linux >= 06220d78f24a20549757be1014e57c382406cc92 < b125d0cf1adde7b2b47d7337fed7e9133eea3463`
- `Linux >= 06220d78f24a20549757be1014e57c382406cc92 < 525e18f1ba7c2b098c8ba587fb397efb34a6574c`
- `Linux >= 06220d78f24a20549757be1014e57c382406cc92 < cadae3a45d23aa4f6485938a67cbc47aaaa25e38`
- `Linux 5.3`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
