cgroup_tryget_css(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cgroup_tryget_css(9) β€” the Kernel API Manual, but make it make sense

okay so bestie, welcome to cgroup_tryget_css from the Kernel API Manual πŸ’– this one's short and sweet and honestly kind of a vibe check for a css β€” let's get into it ✨


🌸 NAME 🌸

cgroup_tryget_css β€” try to get a cgroup's css for the specified subsystem πŸŽ€


✨ SYNOPSIS ✨

struct cgroup_subsys_state * cgroup_tryget_css (struct cgroup *cgrp ,
struct cgroup_subsys *ss );

like, that's the whole thing. two args, one pointer back at ya 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • cgrp β€” the cgroup of interest πŸ‘€ like, the one you're curious about
  • ss β€” the subsystem of interest 🧚 the one you want the css for

πŸ’œ DESCRIPTION πŸ’œ

so here's the tea β˜• it finds cgrp's css that's associated with ss, and it gets it for you. that's it, that's the whole job. iconic, low-effort, high-value πŸ’…

but β€” and this is the important part, no cap β€” if the css doesn't exist or is offline, you get NULL back. that's not an error, that's just the answer, so like… handle it, bestie 😭 don't dereference it, i'm begging πŸ™ˆ


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./kernel/cgroup/cgroup.c and honestly the whole cgroup friend group showed up to this function's party β€” here's the full guest list, every single one, no one left out 🫢:

cgroup_ssid_enabled(9), cgroup_on_dfl(9), cgroup_e_css_by_mask(9),
cgroup_e_css(9), cgroup_get_e_css(9), __cgroup_task_count(9),
cgroup_task_count(9), for_each_css(9), do_each_subsys_mask(9),
css_set_populated(9), css_update_populated(9),
css_set_update_populated(9), css_set_move_task(9),
compare_css_sets(9), find_existing_css_set(9),
allocate_cgrp_cset_links(9), link_css_set(9), find_css_set(9),
cgroup_file_mode(9), cgroup_calc_subtree_ss_mask(9),
cgroup_kn_unlock(9), cgroup_kn_lock_live(9), css_clear_dir(9),
css_populate_dir(9), cgroup_attach_lock(9), cgroup_attach_unlock(9),
cgroup_migrate_add_task(9), cgroup_taskset_first(9),
cgroup_taskset_next(9), cgroup_migrate_execute(9),
cgroup_migrate_vet_dst(9), cgroup_migrate_finish(9),
cgroup_migrate_add_src(9), cgroup_migrate_prepare_dst(9),
cgroup_migrate(9), cgroup_attach_task(9),
cgroup_update_dfl_csses(9), cgroup_lock_and_drain_offline(9),
cgroup_save_control(9), cgroup_propagate_control(9),
cgroup_restore_control(9), cgroup_apply_control_enable(9),
cgroup_apply_control_disable(9), cgroup_apply_control(9),
cgroup_finalize_control(9), cgroup_enable_threaded(9),
cgroup_addrm_files(9), cgroup_rm_cftypes(9), cgroup_add_cftypes(9),
cgroup_add_dfl_cftypes(9), cgroup_add_legacy_cftypes(9),
cgroup_file_notify(9), cgroup_file_show(9), css_next_child(9),
css_next_descendant_pre(9), css_rightmost_descendant(9),
css_next_descendant_post(9), css_has_online_children(9),
css_task_iter_advance_css_set(9), css_task_iter_start(9),
css_task_iter_next(9), css_task_iter_end(9), css_create(9),
kill_css_sync(9), kill_css_finish(9), cgroup_destroy_locked(9),
cgroup_init_early(9), cgroup_init(9), cgroup_fork(9),
cgroup_v1v2_get_from_file(9), cgroup_get_from_file(9),
cgroup_css_set_fork(9), cgroup_css_set_put_fork(9),
cgroup_can_fork(9), cgroup_cancel_fork(9), cgroup_post_fork(9),
cgroup_task_exit(9), css_tryget_online_from_dir(9), css_from_id(9),
cgroup_get_from_path(9), cgroup_v1v2_get_from_fd(9),
cgroup_get_from_fd(9), cgroup_parse_float(9)

like… that's a lot of friends. main character energy for sure πŸ‘‘ go read some of them, iykyk πŸ”₯


friendly reminder bestie: a NULL return here is a real possibility, not a glitch β€” css missing or offline means NULL, so check before you use it πŸ’€

and that's the whole page, fr fr πŸŽ€ this lil gem lives in ./kernel/cgroup and the doc itself is dated October 2026 β€” slay, go forth and get those css pointers safely, mwah πŸ’–βœ¨πŸŒΈπŸ¦‹

πŸ“¦ where this page comes from