CVE-2026-43326
Deadlock in Linux Kernel sched_ext
Publication date: 2026-05-08
Last updated on: 2026-05-08
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability occurs in the Linux kernel's scheduler extension (sched_ext) where a deadlock can happen due to the SCX_KICK_WAIT mechanism. Specifically, SCX_KICK_WAIT busy-waits in the function kick_cpus_irq_workfn() using smp_cond_load_acquire() until the target CPU's kick_sync advances. However, because this irq_work runs in hardirq context, the waiting CPU cannot reschedule, preventing its own kick_sync from advancing. When multiple CPUs form a wait cycle, this results in a deadlock.
The fix replaces the busy-wait with a call to resched_curr(), which forces the CPU to go through do_pick_task_scx(). This queues a balance callback that performs the wait while dropping the rq lock and enabling interrupts, allowing the CPU to process inter-processor interrupts (IPIs) during the wait. This ensures the local CPU's kick_sync advances continuously, preventing cyclic dependencies and deadlocks.
How can this vulnerability impact me? :
This vulnerability can cause a deadlock situation in the Linux kernel scheduler when multiple CPUs form a wait cycle. Such a deadlock can halt CPU scheduling operations, potentially leading to system hangs or degraded performance. This can impact system stability and availability, especially on multi-CPU systems running affected Linux kernel versions.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability has been resolved by modifying the Linux kernel scheduler to replace a busy-wait loop with a rescheduling mechanism that prevents deadlocks.
Immediate mitigation steps would involve updating the Linux kernel to a version that includes this fix.