CVE-2024-50249

ACPI: CPPC: Make rmw_lock a raw_spin_lock

MEDIUM
5.5
CVSS Score
Published: November 9, 2024 at 10:14 AM UTC
Updated: June 17, 2026 at 08:04 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: ACPI: CPPC: Make rmw_lock a raw_spin_lock The following BUG was triggered: ============================= [ BUG: Invalid wait context ] 6.12.0-rc2-XXX #406 Not tainted ----------------------------- kworker/1:1/62 is trying to lock: ffffff8801593030 (&cpc_ptr->rmw_lock){+.+.}-{3:3}, at: cpc_write+0xcc/0x370 other info that might help us debug this: context-{5:5} 2 locks held by kworker/1:1/62: #0: ffffff897ef5ec98 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x2c/0x50 #1: ffffff880154e238 (&sg_policy->update_lock){....}-{2:2}, at: sugov_update_shared+0x3c/0x280 stack backtrace: CPU: 1 UID: 0 PID: 62 Comm: kworker/1:1 Not tainted 6.12.0-rc2-g9654bd3e8806 #406 Workqueue: 0x0 (events) Call trace: dump_backtrace+0xa4/0x130 show_stack+0x20/0x38 dump_stack_lvl+0x90/0xd0 dump_stack+0x18/0x28 __lock_acquire+0x480/0x1ad8 lock_acquire+0x114/0x310 _raw_spin_lock+0x50/0x70 cpc_write+0xcc/0x370 cppc_set_perf+0xa0/0x3a8 cppc_cpufreq_fast_switch+0x40/0xc0 cpufreq_driver_fast_switch+0x4c/0x218 sugov_update_shared+0x234/0x280 update_load_avg+0x6ec/0x7b8 dequeue_entities+0x108/0x830 dequeue_task_fair+0x58/0x408 __schedule+0x4f0/0x1070 schedule+0x54/0x130 worker_thread+0xc0/0x2e8 kthread+0x130/0x148 ret_from_fork+0x10/0x20 sugov_update_shared() locks a raw_spinlock while cpc_write() locks a spinlock. To have a correct wait-type order, update rmw_lock to a raw spinlock and ensure that interrupts will be disabled on the CPU holding it. [ rjw: Changelog edits ]

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 6.10.135.15.168 ≤ v < 5.15.1716.1.113 ≤ v < 6.1.1166.10.13 ≤ v < 6.116.11.2 ≤ v < 6.11.76.6.54 ≤ v < 6.6.6020cde05aa8bcd7a5ff36a609d813189b7cdbe6925.15.1686.1.1136.10.136.11.26.12 rc16.12 rc26.12 rc36.12 rc46.12 rc56.6.5460949b7b805424f21326b450ca4f1806c06d982e82cee12ada68dfd438c7faca152dbfe0428687438ad28208be7bbe748e90442c45963ddbef0fd1e294e8c988468dafde1d2bfe0532a60a3117f6394bf812ca13a0d3e3aa418da36b66ca40df0d6f9e60
Vendor states this is fixed in 0eb2b767c42fac61ab23c4063eb456baa4c2c262 (fixed)
Vendor states this is fixed in 1c10941e34c5fdc0357e46a25bd130d9cf40b925 (fixed)
Vendor states this is fixed in 23039b4aaf1e82e0feea1060834d4ec34262e453 (fixed)
Vendor states this is fixed in 43b1df48d1e7000a214acd1a81b8012ca8a929c8 (fixed)
Vendor states this is fixed in c46d6b02588000c27b7b869388c2c0278bd0d173 (fixed)
Affected range stops below 5.15.171, so it looks safe — our inference, not a vendor statement
Affected range stops below 6.1.116, so it looks safe — our inference, not a vendor statement
Affected range stops below 6.11, so it looks safe — our inference, not a vendor statement
Affected range stops below 6.11.7, so it looks safe — our inference, not a vendor statement
Affected range stops below 6.6.60, so it looks safe — our inference, not a vendor statement

References (6)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0eb2b767c42fac61ab23c4063eb456baa4c2c262
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1c10941e34c5fdc0357e46a25bd130d9cf40b925
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/23039b4aaf1e82e0feea1060834d4ec34262e453
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/43b1df48d1e7000a214acd1a81b8012ca8a929c8
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c46d6b02588000c27b7b869388c2c0278bd0d173
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

5.5MEDIUMCISA-ADP
Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card