CVE-2023-52831

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

State
Published
Severity
Not scored
Published
May 21, 2024
Updated
May 23, 2026
Reserved
May 21, 2024

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • fea9dd8653ff39ce383c54e747bde4c39289b4ad to before 3410b702354702b500bde10e3cc1f9db8731d908Affected
  • 07f9e0c9987bf1c4ef57611ad2f789ba68978102 to before 335a47ed71e332c82339d1aec0c7f6caccfcda13Affected
  • 2b8272ff4a70b866106ae13c36be7ecbef5d5da2 to before 3073f6df783d9d75f7f69f73e16c7ef85d6cfb63Affected
  • 2b8272ff4a70b866106ae13c36be7ecbef5d5da2 to before 38685e2a0476127db766f81b1c06019ddc4c9ffaAffected
  • 9734e4c0c470258c32b6aa5ea7ef8a86506c0909Affected
  • 6.1.53 to before 6.1.64Affected
  • 6.5.3 to before 6.5.13Affected
  • 6.4.16 to before 6.5Affected
LinuxLinux
  • 6.6Affected
  • before 6.6Not affected
  • 6.1.64 through 6.1.*Not affected
  • 6.5.13 through 6.5.*Not affected
  • 6.6.3 through 6.6.*Not affected
  • 6.7 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.