Lines Matching refs:kn
566 struct cgroup *cgrp = of->kn->parent->priv; in of_css()
1211 struct cgroup *root_cgrp = kf_root->kn->priv; in cgroup_root_from_kf()
1487 void cgroup_kn_unlock(struct kernfs_node *kn) in cgroup_kn_unlock() argument
1491 if (kernfs_type(kn) == KERNFS_DIR) in cgroup_kn_unlock()
1492 cgrp = kn->priv; in cgroup_kn_unlock()
1494 cgrp = kn->parent->priv; in cgroup_kn_unlock()
1498 kernfs_unbreak_active_protection(kn); in cgroup_kn_unlock()
1519 struct cgroup *cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline) in cgroup_kn_lock_live() argument
1523 if (kernfs_type(kn) == KERNFS_DIR) in cgroup_kn_lock_live()
1524 cgrp = kn->priv; in cgroup_kn_lock_live()
1526 cgrp = kn->parent->priv; in cgroup_kn_lock_live()
1536 kernfs_break_active_protection(kn); in cgroup_kn_lock_live()
1546 cgroup_kn_unlock(kn); in cgroup_kn_lock_live()
1561 cfile->kn = NULL; in cgroup_rm_file()
1567 kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name)); in cgroup_rm_file()
1609 if ((css->flags & CSS_VISIBLE) || !cgrp->kn) in css_populate_dir()
1709 kernfs_activate(dcgrp->kn); in rebind_subsystems()
1727 len = kernfs_path_from_node(kf_node, ns_cgroup->kn, buf, PATH_MAX); in cgroup_show_path()
1942 root_cgrp->kn = root->kf_root->kn; in cgroup_setup_root()
1980 kernfs_activate(root_cgrp->kn); in cgroup_setup_root()
2021 nsdentry = kernfs_node_dentry(cgrp->kn, dentry->d_sb); in cgroup_do_mount()
2120 return kernfs_path_from_node(cgrp->kn, root->kn, buf, buflen); in cgroup_path_ns_locked()
3133 cgrp = cgroup_kn_lock_live(of->kn, true); in cgroup_subtree_control_write()
3184 kernfs_activate(cgrp->kn); in cgroup_subtree_control_write()
3186 cgroup_kn_unlock(of->kn); in cgroup_subtree_control_write()
3272 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_type_write()
3279 cgroup_kn_unlock(of->kn); in cgroup_type_write()
3315 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_max_descendants_write()
3321 cgroup_kn_unlock(of->kn); in cgroup_max_descendants_write()
3358 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_max_depth_write()
3364 cgroup_kn_unlock(of->kn); in cgroup_max_depth_write()
3421 struct cftype *cft = of->kn->priv; in cgroup_file_open()
3430 struct cftype *cft = of->kn->priv; in cgroup_file_release()
3440 struct cgroup *cgrp = of->kn->parent->priv; in cgroup_file_write()
3441 struct cftype *cft = of->kn->priv; in cgroup_file_write()
3539 static int cgroup_kn_set_ugid(struct kernfs_node *kn) in cgroup_kn_set_ugid() argument
3549 return kernfs_setattr(kn, &iattr); in cgroup_kn_set_ugid()
3562 struct kernfs_node *kn; in cgroup_add_file() local
3569 kn = __kernfs_create_file(cgrp->kn, cgroup_file_name(cgrp, cft, name), in cgroup_add_file()
3574 if (IS_ERR(kn)) in cgroup_add_file()
3575 return PTR_ERR(kn); in cgroup_add_file()
3577 ret = cgroup_kn_set_ugid(kn); in cgroup_add_file()
3579 kernfs_remove(kn); in cgroup_add_file()
3589 cfile->kn = kn; in cgroup_add_file()
3665 kernfs_activate(root->kn); in cgroup_apply_cftypes()
3837 if (cfile->kn) { in cgroup_file_notify()
3844 kernfs_notify(cfile->kn); in cgroup_file_notify()
4381 inode = kernfs_get_inode(sb, com_cgrp->procs_file.kn); in cgroup_procs_write_permission()
4409 dst_cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_procs_write()
4433 cgroup_kn_unlock(of->kn); in cgroup_procs_write()
4452 dst_cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_threads_write()
4482 cgroup_kn_unlock(of->kn); in cgroup_threads_write()
4608 kernfs_put(cgrp->kn); in css_free_rwork_fn()
4668 if (cgrp->kn) in css_release_work_fn()
4669 RCU_INIT_POINTER(*(void __rcu __force **)&cgrp->kn->priv, in css_release_work_fn()
4944 struct kernfs_node *kn; in cgroup_mkdir() local
4967 kn = kernfs_create_dir(parent->kn, name, mode, cgrp); in cgroup_mkdir()
4968 if (IS_ERR(kn)) { in cgroup_mkdir()
4969 ret = PTR_ERR(kn); in cgroup_mkdir()
4972 cgrp->kn = kn; in cgroup_mkdir()
4978 kernfs_get(kn); in cgroup_mkdir()
4980 ret = cgroup_kn_set_ugid(kn); in cgroup_mkdir()
4995 kernfs_activate(kn); in cgroup_mkdir()
5152 kernfs_remove(cgrp->kn); in cgroup_destroy_locked()
5170 int cgroup_rmdir(struct kernfs_node *kn) in cgroup_rmdir() argument
5175 cgrp = cgroup_kn_lock_live(kn, false); in cgroup_rmdir()
5183 cgroup_kn_unlock(kn); in cgroup_rmdir()
5416 struct kernfs_node *kn; in cgroup_path_from_kernfs_id() local
5418 kn = kernfs_get_node_by_id(cgrp_dfl_root.kf_root, id); in cgroup_path_from_kernfs_id()
5419 if (!kn) in cgroup_path_from_kernfs_id()
5421 kernfs_path(kn, buf, buflen); in cgroup_path_from_kernfs_id()
5422 kernfs_put(kn); in cgroup_path_from_kernfs_id()
5717 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); in css_tryget_online_from_dir() local
5724 !kn || kernfs_type(kn) != KERNFS_DIR) in css_tryget_online_from_dir()
5734 cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); in css_tryget_online_from_dir()
5770 struct kernfs_node *kn; in cgroup_get_from_path() local
5775 kn = kernfs_walk_and_get(cgrp_dfl_root.cgrp.kn, path); in cgroup_get_from_path()
5776 if (kn) { in cgroup_get_from_path()
5777 if (kernfs_type(kn) == KERNFS_DIR) { in cgroup_get_from_path()
5778 cgrp = kn->priv; in cgroup_get_from_path()
5783 kernfs_put(kn); in cgroup_get_from_path()