Re: [PATCH sched_ext/for-6.18-fixes] sched_ext: Mark scx_bpf_dsq_move_set_[slice|vtime]() with KF_RCU
From: Andrea Righi
Date: Tue Oct 07 2025 - 01:06:26 EST
On Mon, Oct 06, 2025 at 03:35:36PM -1000, Tejun Heo wrote:
> scx_bpf_dsq_move_set_slice() and scx_bpf_dsq_move_set_vtime() take a DSQ
> iterator argument which has to be valid. Mark them with KF_RCU.
>
> Fixes: 4c30f5ce4f7a ("sched_ext: Implement scx_bpf_dispatch[_vtime]_from_dsq()")
> Cc: stable@xxxxxxxxxxxxxxx # v6.12+
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
Makes sense to me.
Acked-by: Andrea Righi <arighi@xxxxxxxxxx>
Thanks,
-Andrea
> ---
> kernel/sched/ext.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> --- a/kernel/sched/ext.c
> +++ b/kernel/sched/ext.c
> @@ -5688,8 +5688,8 @@ BTF_KFUNCS_START(scx_kfunc_ids_dispatch)
> BTF_ID_FLAGS(func, scx_bpf_dispatch_nr_slots)
> BTF_ID_FLAGS(func, scx_bpf_dispatch_cancel)
> BTF_ID_FLAGS(func, scx_bpf_dsq_move_to_local)
> -BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_slice)
> -BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_vtime)
> +BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_slice, KF_RCU)
> +BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_vtime, KF_RCU)
> BTF_ID_FLAGS(func, scx_bpf_dsq_move, KF_RCU)
> BTF_ID_FLAGS(func, scx_bpf_dsq_move_vtime, KF_RCU)
> BTF_KFUNCS_END(scx_kfunc_ids_dispatch)
> @@ -5820,8 +5820,8 @@ __bpf_kfunc_end_defs();
>
> BTF_KFUNCS_START(scx_kfunc_ids_unlocked)
> BTF_ID_FLAGS(func, scx_bpf_create_dsq, KF_SLEEPABLE)
> -BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_slice)
> -BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_vtime)
> +BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_slice, KF_RCU)
> +BTF_ID_FLAGS(func, scx_bpf_dsq_move_set_vtime, KF_RCU)
> BTF_ID_FLAGS(func, scx_bpf_dsq_move, KF_RCU)
> BTF_ID_FLAGS(func, scx_bpf_dsq_move_vtime, KF_RCU)
> BTF_KFUNCS_END(scx_kfunc_ids_unlocked)
>