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

sched_ext: Replace SCX_RQ_BAL_KEEP with a dispatch verdict return

SCX_RQ_BAL_KEEP tells the pick to keep running the previous task, a leftover
from when balancing and picking were separate operations. An rq-level flag
only works while dispatches and picks pair up one to one, which core
scheduling breaks: selections interleave through dispatch's lock drops and a
pick can consume a stale flag, keeping a task that has since been dequeued.
Fixing core scheduling support requires the decision to travel with the
dispatch that made it. Make scx_dispatch_sched() and balance_one() return an
explicit verdict instead and drop the flag's plumbing from the tools autogen
enum headers.

Also factor the pick-side invocation, its follow-up queueing and the
post-dispatch checks out of do_pick_task_scx() into dispatch_pick(). No
functional changes intended.

v2: Drop the SCX_RQ_BAL_KEEP plumbing from the tools autogen enum headers
as well (Andrea).
Published: 2026-09-11
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Race condition in Linux scheduler causing improper task scheduling
Action: Patch Kernel
AI Analysis

Impact

The flaw arises from the kernel’s SCX_RQ_BAL_KEEP flag, which was used to signal that a previously selected task should continue running. Because scheduling picks and dispatches are no longer guaranteed to occur one‑to‑one, the flag can be left stale after a task has been dequeued. When the scheduler later re‑reads this stale value it may still treat the task as active, leading to incorrect scheduling decisions., classified as CWE‑367.

Affected Systems

The issue is present in include the legacy SCX_RQ_BAL_KEEP flag. Systems running kernels released before the commit that kernels that retain it—are potentially affected. The CPE entry identifies the entire range of affected Linux kernel versions until the patch is applied.

Risk and Exploitability

The CVSS score of 5.5 indicates a moderate severity, and the EPSS score of less than 1% suggests a low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. An attacker would need kernel‑level or privileged execution to exploit is local or requires privilege escalation, which is inferred from the kernel‑level nature of the flaw. Because the vulnerability does not directly expose secrets or cause a direct denial of service, the overall risk remains moderate until the official patch removes the stale flag logic.

Generated by OpenCVE AI on September 13, 2026 at 04:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that incorporates the commit replacing SCX_RQ_BAL_KEEP with an 6f1d3bfe54430f8d54e0530a27f2ecbf8466576e.
  • If running a custom or older kernel that still implements SCX_RQ_BAL_KEEP, apply the patch to remove the flag plumbing and rebuild the kernel before deploying workloads.
  • Schedule the kernel upgrade as part of routine patch management to ensure the updated scheduling code is deployed before new workloads are introduced.

Generated by OpenCVE AI on September 13, 2026 at 04:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-367
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: sched_ext: Replace SCX_RQ_BAL_KEEP with a dispatch verdict return SCX_RQ_BAL_KEEP tells the pick to keep running the previous task, a leftover from when balancing and picking were separate operations. An rq-level flag only works while dispatches and picks pair up one to one, which core scheduling breaks: selections interleave through dispatch's lock drops and a pick can consume a stale flag, keeping a task that has since been dequeued. Fixing core scheduling support requires the decision to travel with the dispatch that made it. Make scx_dispatch_sched() and balance_one() return an explicit verdict instead and drop the flag's plumbing from the tools autogen enum headers. Also factor the pick-side invocation, its follow-up queueing and the post-dispatch checks out of do_pick_task_scx() into dispatch_pick(). No functional changes intended. v2: Drop the SCX_RQ_BAL_KEEP plumbing from the tools autogen enum headers as well (Andrea).
Title sched_ext: Replace SCX_RQ_BAL_KEEP with a dispatch verdict return
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-11T19:44:01.858Z

Reserved: 2026-09-11T19:38:34.718Z

Link: CVE-2026-89519

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:34.533

Modified: 2026-09-11T20:19:34.533

Link: CVE-2026-89519

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:44:01Z

Links: CVE-2026-89519 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T04:15:13Z

Weaknesses
  • CWE-367

    Time-of-check Time-of-use (TOCTOU) Race Condition