CVE Catalog

CVE-2026-93220

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel's sched_ext scheduler, kick_sync_wait_bal_cb() assumes it runs on the rq's CPU, but due to changes in rq lock dropping it can run on a foreign CPU. This leads to comparisons against unrelated snapshots and potential deadlock.

Risk Assessment

This can cause deadlocks or system hangs, posing a denial of service (DoS) risk for organizations using sched_ext.

Recommendation

Update the Linux kernel to a version containing the fix that bails on a foreign CPU and leaves the wait state alone.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: sched_ext: Keep kick_sync waiting on the rq's own CPU kick_sync_wait_bal_cb() assumes it runs on the rq's CPU from the __schedule() tail: the snapshots it compares against live in that CPU's percpu area and the busy-wait runs with the rq lock dropped and IRQs enabled. However, dispatch can now drop the rq lock while the callback sits queued, and rq lock takers in that window (the sched class change paths, the scx task iterator) flush pending balance callbacks on release, running the callback on a foreign CPU. Such a run compares against unrelated snapshots and can deadlock when the executing CPU is itself a wait target. Bail on a foreign CPU and leave the wait state alone. The wait only observes progress that the resched kicks already guarantee and the rq's next wait picks up the stale cpus_to_sync bits.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS