Lines Matching refs:kn
632 struct cgroup *cgrp = of->kn->parent->priv; in of_css()
1284 struct cgroup *root_cgrp = kf_root->kn->priv; in cgroup_root_from_kf()
1563 void cgroup_kn_unlock(struct kernfs_node *kn) in cgroup_kn_unlock() argument
1567 if (kernfs_type(kn) == KERNFS_DIR) in cgroup_kn_unlock()
1568 cgrp = kn->priv; in cgroup_kn_unlock()
1570 cgrp = kn->parent->priv; in cgroup_kn_unlock()
1574 kernfs_unbreak_active_protection(kn); in cgroup_kn_unlock()
1595 struct cgroup *cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline) in cgroup_kn_lock_live() argument
1599 if (kernfs_type(kn) == KERNFS_DIR) in cgroup_kn_lock_live()
1600 cgrp = kn->priv; in cgroup_kn_lock_live()
1602 cgrp = kn->parent->priv; in cgroup_kn_lock_live()
1612 kernfs_break_active_protection(kn); in cgroup_kn_lock_live()
1622 cgroup_kn_unlock(kn); in cgroup_kn_lock_live()
1637 cfile->kn = NULL; in cgroup_rm_file()
1643 kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name)); in cgroup_rm_file()
1685 if ((css->flags & CSS_VISIBLE) || !cgrp->kn) in css_populate_dir()
1785 kernfs_activate(dcgrp->kn); in rebind_subsystems()
1803 len = kernfs_path_from_node(kf_node, ns_cgroup->kn, buf, PATH_MAX); in cgroup_show_path()
2037 root_cgrp->kn = root->kf_root->kn; in cgroup_setup_root()
2075 kernfs_activate(root_cgrp->kn); in cgroup_setup_root()
2120 nsdentry = kernfs_node_dentry(cgrp->kn, sb); in cgroup_do_get_tree()
2295 return kernfs_path_from_node(cgrp->kn, root->kn, buf, buflen); in cgroup_path_ns_locked()
3312 cgrp = cgroup_kn_lock_live(of->kn, true); in cgroup_subtree_control_write()
3363 kernfs_activate(cgrp->kn); in cgroup_subtree_control_write()
3365 cgroup_kn_unlock(of->kn); in cgroup_subtree_control_write()
3451 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_type_write()
3458 cgroup_kn_unlock(of->kn); in cgroup_type_write()
3494 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_max_descendants_write()
3500 cgroup_kn_unlock(of->kn); in cgroup_max_descendants_write()
3537 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_max_depth_write()
3543 cgroup_kn_unlock(of->kn); in cgroup_max_depth_write()
3630 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_pressure_write()
3635 cgroup_kn_unlock(of->kn); in cgroup_pressure_write()
3706 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_freeze_write()
3712 cgroup_kn_unlock(of->kn); in cgroup_freeze_write()
3719 struct cftype *cft = of->kn->priv; in cgroup_file_open()
3728 struct cftype *cft = of->kn->priv; in cgroup_file_release()
3738 struct cgroup *cgrp = of->kn->parent->priv; in cgroup_file_write()
3739 struct cftype *cft = of->kn->priv; in cgroup_file_write()
3786 struct cftype *cft = of->kn->priv; in cgroup_file_poll()
3849 static int cgroup_kn_set_ugid(struct kernfs_node *kn) in cgroup_kn_set_ugid() argument
3859 return kernfs_setattr(kn, &iattr); in cgroup_kn_set_ugid()
3872 struct kernfs_node *kn; in cgroup_add_file() local
3879 kn = __kernfs_create_file(cgrp->kn, cgroup_file_name(cgrp, cft, name), in cgroup_add_file()
3884 if (IS_ERR(kn)) in cgroup_add_file()
3885 return PTR_ERR(kn); in cgroup_add_file()
3887 ret = cgroup_kn_set_ugid(kn); in cgroup_add_file()
3889 kernfs_remove(kn); in cgroup_add_file()
3899 cfile->kn = kn; in cgroup_add_file()
3976 kernfs_activate(root->kn); in cgroup_apply_cftypes()
4148 if (cfile->kn) { in cgroup_file_notify()
4155 kernfs_notify(cfile->kn); in cgroup_file_notify()
4731 inode = kernfs_get_inode(sb, com_cgrp->procs_file.kn); in cgroup_procs_write_permission()
4759 dst_cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_procs_write()
4783 cgroup_kn_unlock(of->kn); in cgroup_procs_write()
4802 dst_cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_threads_write()
4832 cgroup_kn_unlock(of->kn); in cgroup_threads_write()
4987 kernfs_put(cgrp->kn); in css_free_rwork_fn()
5050 if (cgrp->kn) in css_release_work_fn()
5051 RCU_INIT_POINTER(*(void __rcu __force **)&cgrp->kn->priv, in css_release_work_fn()
5358 struct kernfs_node *kn; in cgroup_mkdir() local
5381 kn = kernfs_create_dir(parent->kn, name, mode, cgrp); in cgroup_mkdir()
5382 if (IS_ERR(kn)) { in cgroup_mkdir()
5383 ret = PTR_ERR(kn); in cgroup_mkdir()
5386 cgrp->kn = kn; in cgroup_mkdir()
5392 kernfs_get(kn); in cgroup_mkdir()
5394 ret = cgroup_kn_set_ugid(kn); in cgroup_mkdir()
5409 kernfs_activate(kn); in cgroup_mkdir()
5566 kernfs_remove(cgrp->kn); in cgroup_destroy_locked()
5594 int cgroup_rmdir(struct kernfs_node *kn) in cgroup_rmdir() argument
5599 cgrp = cgroup_kn_lock_live(kn, false); in cgroup_rmdir()
5607 cgroup_kn_unlock(kn); in cgroup_rmdir()
5842 struct kernfs_node *kn; in cgroup_path_from_kernfs_id() local
5844 kn = kernfs_get_node_by_id(cgrp_dfl_root.kf_root, id); in cgroup_path_from_kernfs_id()
5845 if (!kn) in cgroup_path_from_kernfs_id()
5847 kernfs_path(kn, buf, buflen); in cgroup_path_from_kernfs_id()
5848 kernfs_put(kn); in cgroup_path_from_kernfs_id()
6189 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); in css_tryget_online_from_dir() local
6196 !kn || kernfs_type(kn) != KERNFS_DIR) in css_tryget_online_from_dir()
6206 cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); in css_tryget_online_from_dir()
6242 struct kernfs_node *kn; in cgroup_get_from_path() local
6247 kn = kernfs_walk_and_get(cgrp_dfl_root.cgrp.kn, path); in cgroup_get_from_path()
6248 if (kn) { in cgroup_get_from_path()
6249 if (kernfs_type(kn) == KERNFS_DIR) { in cgroup_get_from_path()
6250 cgrp = kn->priv; in cgroup_get_from_path()
6255 kernfs_put(kn); in cgroup_get_from_path()