CVE-2026-43326

sched_ext: Fix SCX_KICK_WAIT deadlock by deferring wait to balance callback

published May 8, 2026

CVSS
—
EPSS
0%
Percentile
1.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

sched_ext: Fix SCX_KICK_WAIT deadlock by deferring wait to balance callback

SCX_KICK_WAIT busy-waits in kick_cpus_irq_workfn() using

smp_cond_load_acquire() until the target CPU's kick_sync advances. Because

the irq_work runs in hardirq context, the waiting CPU cannot reschedule and

its own kick_sync never advances. If multiple CPUs form a wait cycle, all

CPUs deadlock.

Replace the busy-wait in kick_cpus_irq_workfn() with resched_curr() to

force the CPU through do_pick_task_scx(), which queues a balance callback

to perform the wait. The balance callback drops the rq lock and enables

IRQs following the sched_core_balance() pattern, so the CPU can process

IPIs while waiting. The local CPU's kick_sync is advanced on entry to

do_pick_task_scx() and continuously during the wait, ensuring any CPU that

starts waiting for us sees the advancement and cannot form cyclic

dependencies.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00111 · 1.2th percentile
Published
2026-05-08T13:31Z
EPSS history
Timeline
  • 08 MAY 13:31Z
    sched_ext: Fix SCX_KICK_WAIT deadlock by deferring wait to balance callback
    cvelistv5