On Mon, Jul 13, 2026 at 11:12:45AM +0100, Matt Fleming wrote:
> From: Matt Fleming <[email protected]>
> 
> call_rcu_tasks_generic() can be invoked with IRQs disabled, and on
> older kernels this exposed an ABBA deadlock against the scheduler
> runqueue lock via sched_ext's task-storage teardown path:
> 
>         CPU 0                           CPU 1
>         -----                           -----
> sched_ext_free()
>   task_rq_lock()
>     raw_spin_lock(rq->lock)
>                                       rcu_tasks_one_gp()
>                                         raw_spin_lock(cbs_gbl_lock)
>   scx_exit_task()
>     bpf_task_storage_delete()
>       call_rcu_tasks_generic()
>         raw_spin_lock(cbs_gbl_lock)
>           <blocks>
>                                         _printk()
>                                           console_unlock()
>                                             try_to_wake_up()
>                                               raw_spin_lock(rq->lock)
>                                                 <blocks>

Hey Paul, it looks like this didn't get picked up and now won't apply
cleanly to your tree. Should I submit a v2?

Thanks,
Matt

Reply via email to