CVE-2023-53215

sched/fair: Don't balance task to its current running CPU

HIGH
7.8
CVSS Score
Published: September 15, 2025 at 02:21 PM UTC
Updated: June 17, 2026 at 06:44 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
HIGH7.8
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: sched/fair: Don't balance task to its current running CPU We've run into the case that the balancer tries to balance a migration disabled task and trigger the warning in set_task_cpu() like below: ------------[ cut here ]------------ WARNING: CPU: 7 PID: 0 at kernel/sched/core.c:3115 set_task_cpu+0x188/0x240 Modules linked in: hclgevf xt_CHECKSUM ipt_REJECT nf_reject_ipv4 <...snip> CPU: 7 PID: 0 Comm: swapper/7 Kdump: loaded Tainted: G O 6.1.0-rc4+ #1 Hardware name: Huawei TaiShan 2280 V2/BC82AMDC, BIOS 2280-V2 CS V5.B221.01 12/09/2021 pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : set_task_cpu+0x188/0x240 lr : load_balance+0x5d0/0xc60 sp : ffff80000803bc70 x29: ffff80000803bc70 x28: ffff004089e190e8 x27: ffff004089e19040 x26: ffff007effcabc38 x25: 0000000000000000 x24: 0000000000000001 x23: ffff80000803be84 x22: 000000000000000c x21: ffffb093e79e2a78 x20: 000000000000000c x19: ffff004089e19040 x18: 0000000000000000 x17: 0000000000001fad x16: 0000000000000030 x15: 0000000000000000 x14: 0000000000000003 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000001 x10: 0000000000000400 x9 : ffffb093e4cee530 x8 : 00000000fffffffe x7 : 0000000000ce168a x6 : 000000000000013e x5 : 00000000ffffffe1 x4 : 0000000000000001 x3 : 0000000000000b2a x2 : 0000000000000b2a x1 : ffffb093e6d6c510 x0 : 0000000000000001 Call trace: set_task_cpu+0x188/0x240 load_balance+0x5d0/0xc60 rebalance_domains+0x26c/0x380 _nohz_idle_balance.isra.0+0x1e0/0x370 run_rebalance_domains+0x6c/0x80 __do_softirq+0x128/0x3d8 ____do_softirq+0x18/0x24 call_on_irq_stack+0x2c/0x38 do_softirq_own_stack+0x24/0x3c __irq_exit_rcu+0xcc/0xf4 irq_exit_rcu+0x18/0x24 el1_interrupt+0x4c/0xe4 el1h_64_irq_handler+0x18/0x2c el1h_64_irq+0x74/0x78 arch_cpu_idle+0x18/0x4c default_idle_call+0x58/0x194 do_idle+0x244/0x2b0 cpu_startup_entry+0x30/0x3c secondary_start_kernel+0x14c/0x190 __secondary_switched+0xb0/0xb4 ---[ end trace 0000000000000000 ]--- Further investigation shows that the warning is superfluous, the migration disabled task is just going to be migrated to its current running CPU. This is because that on load balance if the dst_cpu is not allowed by the task, we'll re-select a new_dst_cpu as a candidate. If no task can be balanced to dst_cpu we'll try to balance the task to the new_dst_cpu instead. In this case when the migration disabled task is not on CPU it only allows to run on its current CPU, load balance will select its current CPU as new_dst_cpu and later triggers the warning above. The new_dst_cpu is chosen from the env->dst_grpmask. Currently it contains CPUs in sched_group_span() and if we have overlapped groups it's possible to run into this case. This patch makes env->dst_grpmask of group_balance_mask() which exclude any CPUs from the busiest group and solve the issue. For balancing in a domain with no overlapped groups the behaviour keeps same as before.

Affected

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

v < 4.14.3223.6 ≤ v < 4.14.3223.6 ≤ v < 4.19.2913.6 ≤ v < 5.10.1883.6 ≤ v < 5.15.1503.6 ≤ v < 5.4.2513.6 ≤ v < 6.1.423.6 ≤ v < 6.4.73.6 ≤ v < 6.54.15 ≤ v < 4.19.2914.20 ≤ v < 5.4.2515.11 ≤ v < 5.15.1505.16 ≤ v < 6.1.425.5 ≤ v < 5.10.1886.2 ≤ v < 6.4.73.688b8dac0a14c511ff41486b83a8c3d688936eec0
Vendor states this is fixed in 0dd37d6dd33a9c23351e6115ae8cdac7863bc7de (fixed)
Vendor states this is fixed in 32d937f94b7805d4c9028b8727a7d6241547da54 (fixed)
Vendor states this is fixed in 34eb902050d473bb2befa15714fb1d30a0991c15 (fixed)
Vendor states this is fixed in 3cb43222bab8ab328fc91ed30899b3df2efbccfd (fixed)
Vendor states this is fixed in 6b0c79aa33075b34c3cdcea4132c0afb3fc42d68 (fixed)
Vendor states this is fixed in 78a5f711efceb37e32c48cd6b40addb671fea9cc (fixed)
Vendor states this is fixed in a5286f4655ce2fa28f477c0b957ea7f323fe2fab (fixed)
Vendor states this is fixed in cec1857b1ea5cc3ea2b600564f1c95d1a6f27ad1 (fixed)
Vendor states this is fixed in 3.6 (unaffected)
Vendor states this is fixed in 4.14.322 (unaffected)
Vendor states this is fixed in 4.19.291 (unaffected)
Vendor states this is fixed in 5.10.188 (unaffected)
Vendor states this is fixed in 5.15.150 (unaffected)
Vendor states this is fixed in 5.4.251 (unaffected)
Vendor states this is fixed in 6.1.42 (unaffected)
Vendor states this is fixed in 6.4.7 (unaffected)
Vendor states this is fixed in 6.5 (unaffected)

References (8)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0dd37d6dd33a9c23351e6115ae8cdac7863bc7de
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/32d937f94b7805d4c9028b8727a7d6241547da54
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/34eb902050d473bb2befa15714fb1d30a0991c15
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3cb43222bab8ab328fc91ed30899b3df2efbccfd
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6b0c79aa33075b34c3cdcea4132c0afb3fc42d68
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/78a5f711efceb37e32c48cd6b40addb671fea9cc
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a5286f4655ce2fa28f477c0b957ea7f323fe2fab
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/cec1857b1ea5cc3ea2b600564f1c95d1a6f27ad1

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

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

CVSS

7.8HIGHCISA-ADP
Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
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