VYPR
Unrated severityNVD Advisory· Published May 13, 2026

CVE-2026-43482

CVE-2026-43482

Description

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

sched_ext: Disable preemption between scx_claim_exit() and kicking helper work

scx_claim_exit() atomically sets exit_kind, which prevents scx_error() from triggering further error handling. After claiming exit, the caller must kick the helper kthread work which initiates bypass mode and teardown.

If the calling task gets preempted between claiming exit and kicking the helper work, and the BPF scheduler fails to schedule it back (since error handling is now disabled), the helper work is never queued, bypass mode never activates, tasks stop being dispatched, and the system wedges.

Disable preemption across scx_claim_exit() and the subsequent work kicking in all callers - scx_disable() and scx_vexit(). Add lockdep_assert_preemption_disabled() to scx_claim_exit() to enforce the requirement.

Affected products

1

Patches

4

Vulnerability mechanics

Root cause

"Missing preemption disable between scx_claim_exit() and the subsequent helper work kick allows a preempted task to wedge the system when the BPF scheduler cannot reschedule it."

Attack vector

An attacker who can trigger an error condition in the sched_ext BPF scheduler (e.g., via a crafted BPF program or by inducing a runtime fault) causes scx_claim_exit() to atomically set exit_kind, disabling further error handling. If the calling task is preempted before it can kick the helper kthread work, and the BPF scheduler fails to schedule it back, the helper work is never queued, bypass mode never activates, tasks stop being dispatched, and the system wedges. No special network path is required; the precondition is local ability to trigger a sched_ext error path.

Affected code

The vulnerability affects the sched_ext subsystem, specifically the scx_claim_exit() function and its callers scx_disable() and scx_vexit(). The race window exists between the atomic exit_kind set in scx_claim_exit() and the subsequent kick of the helper kthread work that initiates bypass mode and teardown.

What the fix does

The patch series disables preemption across the scx_claim_exit() call and the subsequent helper work kick in both callers (scx_disable() and scx_vexit()). A lockdep_assert_preemption_disabled() is added to scx_claim_exit() to enforce the requirement at build/debug time. This closes the race window where a preempted task could leave the helper work unqueued, preventing bypass mode activation and causing a system hang.

Preconditions

  • inputAbility to trigger an error condition in the sched_ext BPF scheduler (e.g., via a crafted BPF program or runtime fault)
  • configSystem must be using the sched_ext (SCX) scheduling framework with a BPF scheduler loaded

Generated by deepseek/deepseek-v4-flash-20260423 on May 19, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.