CVE-2023-52831

cpu/hotplug: Don't offline the last non-isolated CPU

MEDIUM
5.5
CVSS Score
Published: May 21, 2024 at 03:31 PM UTC
Updated: June 17, 2026 at 06:43 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: cpu/hotplug: Don't offline the last non-isolated CPU If a system has isolated CPUs via the "isolcpus=" command line parameter, then an attempt to offline the last housekeeping CPU will result in a WARN_ON() when rebuilding the scheduler domains and a subsequent panic due to and unhandled empty CPU mas in partition_sched_domains_locked(). cpuset_hotplug_workfn() rebuild_sched_domains_locked() ndoms = generate_sched_domains(&doms, &attr); cpumask_and(doms[0], top_cpuset.effective_cpus, housekeeping_cpumask(HK_FLAG_DOMAIN)); Thus results in an empty CPU mask which triggers the warning and then the subsequent crash: WARNING: CPU: 4 PID: 80 at kernel/sched/topology.c:2366 build_sched_domains+0x120c/0x1408 Call trace: build_sched_domains+0x120c/0x1408 partition_sched_domains_locked+0x234/0x880 rebuild_sched_domains_locked+0x37c/0x798 rebuild_sched_domains+0x30/0x58 cpuset_hotplug_workfn+0x2a8/0x930 Unable to handle kernel paging request at virtual address fffe80027ab37080 partition_sched_domains_locked+0x318/0x880 rebuild_sched_domains_locked+0x37c/0x798 Aside of the resulting crash, it does not make any sense to offline the last last housekeeping CPU. Prevent this by masking out the non-housekeeping CPUs when selecting a target CPU for initiating the CPU unplug operation via the work queue.

Affected

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

v ≥ 6.4.16v < 6.1.646.1.53 ≤ v < 6.1.646.2 ≤ v < 6.5.136.4.16 ≤ v < 6.56.5.3 ≤ v < 6.5.136.6 ≤ v < 6.6.36.6 ≤ v < 6.72b8272ff4a70b866106ae13c36be7ecbef5d5da26.1.536.4.166.5.36.67f9e0c9987bf1c4ef57611ad2f789ba689781029734e4c0c470258c32b6aa5ea7ef8a86506c0909fea9dd8653ff39ce383c54e747bde4c39289b4ad
Vendor states this is fixed in 3073f6df783d9d75f7f69f73e16c7ef85d6cfb63 (fixed)
Vendor states this is fixed in 335a47ed71e332c82339d1aec0c7f6caccfcda13 (fixed)
Vendor states this is fixed in 3410b702354702b500bde10e3cc1f9db8731d908 (fixed)
Vendor states this is fixed in 38685e2a0476127db766f81b1c06019ddc4c9ffa (fixed)
Vendor states this is fixed in 6.1.64 (unaffected)
Affected range stops below 6.5, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 6.5.13 (unaffected)
Vendor states this is fixed in 6.6 (unaffected)
Vendor states this is fixed in 6.6.3 (unaffected)
Vendor states this is fixed in 6.7 (unaffected)

References (4)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3073f6df783d9d75f7f69f73e16c7ef85d6cfb63
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/335a47ed71e332c82339d1aec0c7f6caccfcda13
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3410b702354702b500bde10e3cc1f9db8731d908
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/38685e2a0476127db766f81b1c06019ddc4c9ffa

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

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

CVSS

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

Quick Info

StatusANALYZED
CWE
CWE-617

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