[GIT PULL] sched_ext: Fixes for v7.1-rc2

From: Tejun Heo

Date: Tue May 05 2026 - 18:05:46 EST


Hello,

The following changes since commit d99f7a32f09dccbe396187370ec1a74a31b73d7e:

sched_ext: Fix scx_flush_disable_work() UAF race (2026-04-28 07:40:03 -1000)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git tags/sched_ext-for-7.1-rc2-fixes

for you to fetch changes up to b34c82777a2c0648ee053595f4b290fd5249b093:

sched_ext: idle: Recheck prev_cpu after narrowing allowed mask (2026-05-04 11:01:04 -1000)

----------------------------------------------------------------
sched_ext: Fixes for v7.1-rc2

- Fix idle CPU selection returning prev_cpu outside the task's cpus_ptr
when the BPF caller's allowed mask was wider. Stable backport.

- Two opposite-direction gaps in scx_task_iter's cgroup-scoped mode
versus the global mode:

- Tasks past exit_signals() are filtered by the cgroup walk but kept by
global. Sub-scheduler enable abort leaked __scx_init_task() state.
Add a CSS_TASK_ITER_WITH_DEAD flag to cgroup's task iterator
(scx_task_iter is its only user) and use it.

- Tasks past sched_ext_dead() are still returned, tripping
WARN_ON_ONCE() in callers or making them touch torn-down state. Mark
and skip under the per-task rq lock.

----------------------------------------------------------------
David Carlier (1):
sched_ext: idle: Recheck prev_cpu after narrowing allowed mask

Tejun Heo (2):
cgroup, sched_ext: Include exiting tasks in cgroup iter
sched_ext: Skip past-sched_ext_dead() tasks in scx_task_iter_next_locked()

include/linux/cgroup.h | 1 +
include/linux/sched/ext.h | 1 +
kernel/cgroup/cgroup.c | 8 +++++---
kernel/sched/ext.c | 39 +++++++++++++++++++++++++++++----------
kernel/sched/ext_idle.c | 12 ++++++------
5 files changed, 42 insertions(+), 19 deletions(-)

Thanks.

--
tejun