Re: [PATCH bpf-next] bpf: sched_ext: Mark ops argument container pointer fields as trusted
From: Tejun Heo
Date: Thu Aug 20 2026 - 04:14:06 EST
On Thu, Aug 20, 2026 at 06:16:48AM +0000, bot+bpf-ci@xxxxxxxxxx wrote:
> > bpf: sched_ext: Mark ops argument container pointer fields as trusted
> >
> > Walking an unannotated pointer field of a trusted struct yields a bare
> > PTR_TO_BTF_ID in non-sleepable programs, which kfuncs and helpers accept,
> > but PTR_UNTRUSTED in sleepable programs, which they reject. This gets in the
> > way of making ops.init_task() sleepable, which schedulers want for
> > allocations. For example, passing args->cgroup into bpf_cgrp_storage_get()
> > then fails verification and the only recourse is round-tripping through the
> > cgroup ID with bpf_cgroup_from_id().
> >
> > The pointer fields in the sched_ext ops argument containers are all pinned
> > by the callers for the duration of the ops calls and are never NULL. Add
> > them to the verifier's trusted-fields whitelist so that they are PTR_TRUSTED
> > in both sleepable and non-sleepable programs.
> >
> > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
>
> This looks like a bug fix for verification failures in sleepable programs.
> Should this include:
>
> Fixes: 8195136669661 ("sched_ext: Add cgroup support")
Nothing has been using it, so not strictly necessary but yeah I don't see
why not.
Thanks.
--
tejun