cgroup_can_fork(9)
π cgroup_can_fork(9) π
okay so this is a page from the Kernel API Manual, and it's about cgroup_can_fork β the little gatekeeper that gets a say before your brand-new task ever gets exposed to the world. main character energy fr fr π
β¨ SYNOPSIS β¨
int cgroup_can_fork (struct task_struct *child , struct
kernel_clone_args *kargs );
πΈ ARGUMENTS πΈ
childβ the child process πΌ like, the actual new baby task being bornkargsβ the arguments that got passed in to create that child process, the whole origin story basically
π DESCRIPTION π
So here's the vibe: this function prepares a fresh new css_set for the child process β and that's the css_set the child is gonna get attached to later, over in cgroup_post_fork. β¨
While it's doing that, it also calls the subsystem can_fork callbacks. Think of it as the bouncer checking the guest list π
π and here's the important bit, bestie: if the cgroup_can_fork callback returns an error, the fork aborts with that error code. Like, the whole thing. Not me being dramatic, that's literally what it says.
Which is exactly the point β it lets a cgroup subsystem conditionally allow or deny new forks. Slay, honestly. Consent matters. π«Ά
π¦ SEE ALSO π¦
Kernel file ./kernel/cgroup/cgroup.c
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_tryget_css(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_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)
ok that's a lot of friends but they're all invited to the group chat π no cap, every single one of them.
that's the whole page bestie, you ate that πβ¨
signing off from ./kernel/cgroup β this edition dropped back in October 2026, so you already know it's iconic ππ
π¦ 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