CVE-2023-52831
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2023
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
cpu/hotplug: Don't offline the last non-isolated CPU
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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| fea9dd8653ff39ce383c54e747bde4c39289b4ad | affected | git | 3410b702354702b500bde10e3cc1f9db8731d908 | Unavailable | None listed |
| 07f9e0c9987bf1c4ef57611ad2f789ba68978102 | affected | git | 335a47ed71e332c82339d1aec0c7f6caccfcda13 | Unavailable | None listed |
| 2b8272ff4a70b866106ae13c36be7ecbef5d5da2 | affected | git | 3073f6df783d9d75f7f69f73e16c7ef85d6cfb63 | Unavailable | None listed |
| 2b8272ff4a70b866106ae13c36be7ecbef5d5da2 | affected | git | 38685e2a0476127db766f81b1c06019ddc4c9ffa | Unavailable | None listed |
| 9734e4c0c470258c32b6aa5ea7ef8a86506c0909 | affected | git | Unavailable | Unavailable | None listed |
| 6.1.53 | affected | semver | 6.1.64 | Unavailable | None listed |
| 6.5.3 | affected | semver | 6.5.13 | Unavailable | None listed |
| 6.4.16 | affected | semver | 6.5 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.6 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.6 | Unavailable | None listed |
| 6.1.64 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.5.13 | unaffected | semver | Unavailable | 6.5.* | None listed |
| 6.6.3 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.7 | unaffected | original_commit_for_fix | Unavailable | * | None listed |