CVE-2026-98864 PUBLISHED

sched_ext: Wait for SCX_OPSS_DISPATCHING before reenqueueing a task

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

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

sched_ext: Wait for SCX_OPSS_DISPATCHING before reenqueueing a task

ebf1ccff79c4 ("sched_ext: Fix ops.dequeue() semantics") moved the final ops_state store in scx_dispatch_enqueue() after the DSQ unlock so that the custody update and ops.dequeue() precede it. A task can thus be found on a DSQ while still SCX_OPSS_DISPATCHING.

The dequeue and core-sched pick paths wait for the state to clear in ops_dequeue() but the reenqueue paths don't. A reenqueue in that window runs ops.enqueue() and sets SCX_OPSS_QUEUED before the dispatch has completed. The dispatcher's final store then overwrites it with SCX_OPSS_NONE and finish_dispatch() drops every later dispatch of the task.

Wait for SCX_OPSS_DISPATCHING to clear before dequeueing a task for reenqueue, the same way ops_dequeue() does.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from ebf1ccff79c43f860cbd2f9d6cfab9a462d0cb2d to 43457bf6550044c40bd6d3fcdf9ea66f5a55d139 (excl.)
  • affected from ebf1ccff79c43f860cbd2f9d6cfab9a462d0cb2d to 7de9a6fb44eae4f05e68c805d58b9c618815adfa (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 7.1 is affected
  • unaffected from 0 to 7.1 (excl.)
  • unaffected from 7.2.10 to 7.2.* (incl.)
  • unaffected from 7.3-rc5 to * (incl.)

References