On Mon, Aug 11, 2025 at 10:50:44AM -0700, Kumar Kartikeya Dwivedi wrote: > The bpf_cgroup_from_id kfunc relies on cgroup_get_from_id to obtain the > cgroup corresponding to a given cgroup ID. This helper can be called in > a lot of contexts where the current thread can be random. A recent > example was its use in sched_ext's ops.tick(), to obtain the root cgroup > pointer. Since the current task can be whatever random user space task > preempted by the timer tick, this makes the behavior of the helper > unreliable. > > Resolve this by refactoring cgroup_get_from_id to take a parameter to > elide the cgroup_is_descendant check when root_cgns parameter is set to > true. > > There is no compatibility breakage here, since changing the namespace > against which the lookup is being done to the root cgroup namespace only > permits a wider set of lookups to succeed now. The cgroup IDs across > namespaces are globally unique, and thus don't need to be retranslated. > > Reported-by: Dan Schatzberg <dschatzberg@xxxxxxxx> > Signed-off-by: Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Thanks. -- tejun