Description
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.
Published: 2026-09-24
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via Scheduler Deadlock
Action: Patch
AI Analysis

Impact

In the Linux kernel the commit schedule callback race condition leads to the kick_sync_wait_bal_cb function executing on a CPU different from the one it originally targeted. Because the function assumes it runs on the same CPU as the request queue, it compares against snapshots in that CPU's per‑CPU memory area. When it runs on another CPU, the comparison can fail and cause a deadlock, effectively freezing scheduling and potentially making the system unresponsive. This results in a denial of service through loss of scheduler responsiveness.

Affected Systems

Any machine running a Linux kernel that does not contain the specific patches listed in the references is vulnerable. No vendor‑specific version numbers are provided, so the issue applies broadly to unpatched Linux kernels, regardless of distribution. Administrators should confirm whether their operating system includes the commits referenced by the two Git links and determine if the package updates from their distribution reflect these changes.

Risk and Exploitability

The EPSS score is < 1% and the vulnerability is not listed in the CISA KEV catalog. Without an explicit CVSS score, the risk must be judged from the described behavior: a race condition that can deadlock the scheduler indicates a high severity local denial of service. Based on the description, it is inferred that the attack feasibility appears to require local access or an attacker already able to execute code in kernel mode, because the flaw is triggered by scheduling activity that only the kernel initiates. The lack of widespread exploitation data suggests the threat is currently limited to environments where the specific race condition can be exercised by an attacker with local privileges.

Generated by OpenCVE AI on September 26, 2026 at 02:11 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to the latest Linux kernel that includes the fix for the scheduling deadlock, ensuring that the commit c736ea0fe7b4df920da6bd43a81c5eeecadcc8be or e0253dd04beb03e79477c5ef4768b11135687206 is present.
  • Reboot the system so that the patched kernel is running and scheduling operates under the new code.
  • If an immediate kernel upgrade is not possible, monitor for signs of scheduling deadlocks such as high CPU usage or unresponsive processes, and consider disabling sched_ext features that rely on kick_sync callbacks as a temporary mitigation.

Generated by OpenCVE AI on September 26, 2026 at 02:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 26 Sep 2026 02:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Thu, 24 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Description 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.
Title sched_ext: Keep kick_sync waiting on the rq's own CPU
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-24T15:10:43.770Z

Reserved: 2026-09-17T16:02:15.094Z

Link: CVE-2026-93220

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T16:17:17.197

Modified: 2026-09-24T16:17:17.197

Link: CVE-2026-93220

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T02:15:03Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')