Home

Description

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.

PUBLISHED Reserved 2026-05-01 | Published 2026-05-08 | Updated 2026-05-08 | Assigner Linux

Product status

Default status
unaffected

90e55164dad42c6546b698c031697b224a320834 (git) before c3a7903f65cf4c7fb0477eb0f8b94f326a47fe54
affected

90e55164dad42c6546b698c031697b224a320834 (git) before 415cb193bb9736f0e830286c72a6fa8eb2a9cc5c
affected

Default status
affected

6.12
affected

Any version before 6.12
unaffected

6.19.12 (semver)
unaffected

7.0 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/c3a7903f65cf4c7fb0477eb0f8b94f326a47fe54

git.kernel.org/...c/415cb193bb9736f0e830286c72a6fa8eb2a9cc5c

cve.org (CVE-2026-43326)

nvd.nist.gov (CVE-2026-43326)

Download JSON