bpf_cgroup_from_id(9)
π bpf_cgroup_from_id(9) π
okay so this is a page from the Kernel API Manual β yep, the kernel has its own manual, she's fancy like that β and today's main character is bpf_cgroup_from_id, a kfunc that goes and finds you a cgroup if you hand it the right ID. π
β¨ NAME β¨
bpf_cgroup_from_id β find a cgroup from its ID.
Real talk though, bestie, this is the part you cannot skip: a cgroup returned by this kfunc which is not subsequently stored in a map must be released by calling bpf_cgroup_release(). So if you're not immediately tucking that cgroup into a map, you gotta clean up after yourself. No leaving it lying around. π
π¦ SYNOPSIS π¦
__bpf_kfunc struct cgroup * bpf_cgroup_from_id (u64 cgid );
That's the whole vibe: you give it a u64, you get back a struct cgroup *. Slay. β¨
πΈ ARGUMENTS πΈ
cgidβ the cgroup id. that's it, that's the argument. hand over the id, get a cgroup (and remember the release rule up top, ok? π«Ά).
π SEE ALSO π
Kernel file ./kernel/bpf/helpers.c, plus literally the entire squad β these kfuncs all hang out together so here's the full friend group, no gatekeeping:
bpf_obj_new(9)bpf_percpu_obj_new(9)bpf_obj_drop(9)bpf_percpu_obj_drop(9)bpf_refcount_acquire(9)bpf_list_push_front(9)bpf_list_push_back(9)bpf_rbtree_add(9)bpf_task_acquire(9)bpf_task_release(9)bpf_cgroup_acquire(9)bpf_cgroup_release(9)bpf_cgroup_ancestor(9)bpf_task_under_cgroup(9)bpf_task_get_cgroup1(9)bpf_task_from_pid(9)bpf_task_from_vpid(9)bpf_dynptr_slice(9)bpf_dynptr_slice_rdwr(9)bpf_dynptr_copy(9)bpf_dynptr_memset(9)bpf_iter_bits_new(9)bpf_iter_bits_next(9)bpf_iter_bits_destroy(9)bpf_copy_from_user_str(9)bpf_copy_from_user_task_str(9)bpf_strcmp(9)bpf_strcasecmp(9)bpf_strnchr(9)bpf_strchr(9)bpf_strchrnul(9)bpf_strrchr(9)bpf_strnlen(9)bpf_strlen(9)bpf_strspn(9)bpf_strcspn(9)bpf_strstr(9)bpf_strcasestr(9)bpf_strnstr(9)bpf_strncasestr(9)bpf_lookup_user_key(9)bpf_lookup_system_key(9)bpf_key_put(9)bpf_verify_pkcs7_signature(9)bpf_task_work_schedule_signal(9)bpf_task_work_schedule_resume(9)bpf_timer_cancel_async(9)
π«Ά friendly reminder, one last time, because it matters: not stored in a map? then call bpf_cgroup_release(). periodt. π
and that's the page, diva π β brought to you by the source path ./kernel/bpf, dated October 2026, filed under bpf_cgroup_from_id(9). go forth and release your cgroups πβ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms