Commit 729beb5aa80c for kernel

commit 729beb5aa80ce4bcf40f9ff74ed845269393a6ae
Merge: 2152c755f76a af4ed5682e62
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Oct 29 07:38:53 2026 -1000

    Merge tag 'sched_ext-for-7.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext

    Pull sched_ext fixes from Tejun Heo:
     "This is a big pull for fixes, but much of it was in the works before
      the merge window.

      Most of these fixes are in sub-scheduler support, which nests BPF
      schedulers under a parent that hands them CPUs. It was heavily
      reworked over recent cycles and is now functionally complete. Porting
      real schedulers on it drove the latest additions and keeps finding
      corner cases.

      For example, once CPUs are shared and can be taken back, the kernel
      must keep every task moving when its scheduler can't run it or is
      failing, and those fallbacks interact subtly with each other and with
      other new core features.

       - The fallback paths meant to keep a task moving when its scheduler
         can't run it or is failing could themselves leave it stuck

       - The stall watchdog could blame a scheduler for time it wasn't
         responsible for, even taking down all of sched_ext

       - Sub-schedulers were told late, or not at all, which CPUs they could
         use

       - Deferred callbacks could stay queued or be dropped under core
         scheduling and proxy execution, with a sched/core fix to the
         duplicate check

       - Hardening: tracing programs can no longer call kfuncs that could
         deadlock the CPU"

    * tag 'sched_ext-for-7.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext: (34 commits)
      sched_ext: Reject scx_bpf_sub_grant/revoke() in tracing programs
      sched_ext: Fix the rescue overload pick ejecting the wrong sub under bypass
      sched_ext: Fix use-after-free of a NONE rescuee leaving its sched while running
      sched_ext: Fix a lone IMMED task waiting behind a kept prev
      sched_ext: Fix queued bypassed tasks stalling when the host loses SCX_CAP_BASE
      sched_ext: Let the bypass load balancer move tasks homed on other cpus
      sched_ext: Factor out bypass_lb_move() and insert with the donor DSQ unlocked
      sched_ext: Fix the bypass load balancer stranding tasks on cpus where the host lacks SCX_CAP_BASE
      sched_ext: Fix bypassed tasks stalling when the host lacks SCX_CAP_BASE
      sched_ext: Expire prev's slice in dispatch_one() under bypass
      sched_ext: Fix a cpu idling after put_prev_task_scx() queues its task on the local DSQ
      sched_ext: Refuse extending a kernel slice
      sched_ext: Mark the rescue grant as a kernel slice with SCX_TASK_KERNEL_SLICE
      sched_ext: Fix a cpu idling with a runnable rescuee
      sched_ext: Restore a rescuee's slice after ops.stopping()
      sched_ext: Fix rescue served time disagreeing with the slice under proxy execution
      sched_ext: Move refill_task_slice_dfl() below apply_slice_vtime()
      sched_ext: Fix bypassed tasks looping on a host without SCX_CAP_ENQ
      sched_ext: Fix bypassed tasks stranded by the reenqueue limit
      sched_ext: Clear holding_cpu where the claim is confirmed
      ...