cgroup_rm_cftypes(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cgroup_rm_cftypes β€” the kernel API manual, but make it make sense

okay so bestie, this one's from the Kernel API Manual section of the manual pages (section 9, kernel dev vibes only, no shell commands here), and it's literally about ✨*un-registering*✨ stuff. we're taking files back. we're saying "not you anymore, babes." let's get into it πŸŽ€


🌸 NAME 🌸

cgroup_rm_cftypes β€” remove an array of cftypes from a subsystem

like, the whole array. one call, all of them gone. periodt πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

int cgroup_rm_cftypes (struct cftype *cfts );

yup that's the whole signature. int in the front, pointer in the middle, done. 😌


πŸ“ ARGUMENTS πŸ“

  • cfts β€” a zero-length name terminated array of cftypes 🫢
translate: it's an array of struct cftype, and the list ends when you hit one with a zero-length name. that's the terminator, that's the vibe check, that's how the kernel knows to stop reading. no cap.

πŸ’– DESCRIPTION πŸ’–

So this function unregisters cfts. The files that cfts describes get removed from all existing cgroups, and every future cgroup won't have them either β€” like, they're just not invited to the party anymore. not the current party, not any party ever again. iconic but also kind of brutal 😭

And the flexible part? This function can be called anytime, whether cfts' subsys is attached or not. attached, not attached, mid-vibe, doesn't matter. she's ready whenever. ✨

Now the return values, because we always read the return values:

  • returns 0 on successful unregistration πŸ‘‘
  • returns -ENOENT if cfts is not registered πŸ’€
so if you're getting -ENOENT back, that's the kernel gently telling you "bestie... that was never registered in the first place." no drama, just facts. πŸ™ˆ

⭐ SEE ALSO ⭐

the kernel file this lives near is ./kernel/cgroup/cgroup.c, and then there is... a lot of friends. like an entire group chat. buckle up 🧚

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_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)

iykyk β€” that's the whole css/cgroup cinematic universe right there. read them in order or don't, we don't gatekeep 🌈

πŸ’œ sign-off πŸ’œ

this little page ships from ./kernel/cgroup and it's dated October 2026 β€” yeah, future-coded of her. that's the source, that's the version, that's the whole eras tour. go unregister something responsibly, bestie πŸ«Άβœ¨πŸŽ€

πŸ“¦ where this page comes from