CVE-2025-21657: sched_ext: Replace rq_lock() to raw_spin_rq_lock() in scx_ops_bypass()
In the Linux kernel, the following vulnerability has been resolved:
sched_ext: Replace rq_lock() to raw_spin_rq_lock() in scx_ops_bypass()
scx_ops_bypass() iterates all CPUs to re-enqueue all the scx tasks.
For each CPU, it acquires a lock using rq_lock() regardless of whether
a CPU is offline or the CPU is currently running a task in a higher
scheduler class (e.g., deadline). The rq_lock() is supposed to be used
for online CPUs, and the use of rq_lock() may trigger an unnecessary
warning in rq_pin_lock(). Therefore, replace rq_lock() to
raw_spin_rq_lock() in scx_ops_bypass().
Without this change, we observe the following warning:
===== START =====
[ 6.615205] rq->balance_callback && rq->balance_callback != &balance_push_callback
[ 6.615208] WARNING: CPU: 2 PID: 0 at kernel/sched/sched.h:1730 __schedule+0x1130/0x1c90
===== END =====
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue affects the scheduler extension path. The documented impact is a kernel warning caused by using the wrong runqueue lock in a specific bypass routine. Public sources do not show data theft, privilege escalation, or active exploitation.
Executive priority
Treat as routine kernel maintenance unless your environment relies on affected 6.12/6.13 kernels at scale. Prioritize normal patch cycles and vendor confirmation.
Technical view
In sched_ext, scx_ops_bypass() iterates CPUs to re-enqueue scx tasks. It used rq_lock() even for offline CPUs or CPUs running higher scheduler classes, which can trigger a warning in rq_pin_lock(). The fix replaces rq_lock() with raw_spin_rq_lock().
Likely exposure
Exposure appears limited to Linux kernels in the affected 6.12/6.13 range or vendor kernels carrying the vulnerable sched_ext code. Actual exposure depends on distribution backports and kernel configuration.
Exploitation context
No KEV listing is present, and the provided sources do not report active exploitation or a public exploit. The observable issue in the record is a kernel warning during scheduler behavior.
Researcher notes
The CVE record frames this as a resolved Linux kernel correctness issue with an observed warning. Severity, CVSS, and CWE are not provided. Do not infer exploitability beyond the cited scheduler warning without additional evidence.
Mitigation direction
Update to a vendor-supported kernel containing the referenced stable fixes.
Check distribution advisories for backported fixes before relying on upstream version numbers.
If no vendor fix is available, monitor vendor guidance and assess sched_ext usage exposure.
Validation and detection
Inventory Linux kernel versions across affected systems.
Check vendor changelogs for the referenced kernel commits.
Review kernel logs for the warning string shown in the CVE record.
Confirm whether deployed kernels include sched_ext code paths.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-21657 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
3Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Jan 21, 2025, 12:18 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.