/Linux-v4.19/fs/kernfs/ |
D | dir.c | 28 static bool kernfs_active(struct kernfs_node *kn) in kernfs_active() argument 31 return atomic_read(&kn->active) >= 0; in kernfs_active() 34 static bool kernfs_lockdep(struct kernfs_node *kn) in kernfs_lockdep() argument 37 return kn->flags & KERNFS_LOCKDEP; in kernfs_lockdep() 43 static int kernfs_name_locked(struct kernfs_node *kn, char *buf, size_t buflen) in kernfs_name_locked() argument 45 if (!kn) in kernfs_name_locked() 48 return strlcpy(buf, kn->parent ? kn->name : "/", buflen); in kernfs_name_locked() 72 da = kernfs_depth(ra->kn, a); in kernfs_common_ancestor() 73 db = kernfs_depth(rb->kn, b); in kernfs_common_ancestor() 127 struct kernfs_node *kn, *common; in kernfs_path_from_node_locked() local [all …]
|
D | symlink.c | 30 struct kernfs_node *kn; in kernfs_create_link() local 40 kn = kernfs_new_node(parent, name, S_IFLNK|S_IRWXUGO, uid, gid, in kernfs_create_link() 42 if (!kn) in kernfs_create_link() 46 kn->ns = target->ns; in kernfs_create_link() 47 kn->symlink.target_kn = target; in kernfs_create_link() 50 error = kernfs_add_one(kn); in kernfs_create_link() 52 return kn; in kernfs_create_link() 54 kernfs_put(kn); in kernfs_create_link() 61 struct kernfs_node *base, *kn; in kernfs_get_target_path() local 68 kn = target->parent; in kernfs_get_target_path() [all …]
|
D | file.c | 64 static const struct kernfs_ops *kernfs_ops(struct kernfs_node *kn) in kernfs_ops() argument 66 if (kn->flags & KERNFS_LOCKDEP) in kernfs_ops() 67 lockdep_assert_held(kn); in kernfs_ops() 68 return kn->attr.ops; in kernfs_ops() 96 const struct kernfs_ops *ops = kernfs_ops(of->kn); in kernfs_seq_stop_active() 100 kernfs_put_active(of->kn); in kernfs_seq_stop_active() 113 if (!kernfs_get_active(of->kn)) in kernfs_seq_start() 116 ops = kernfs_ops(of->kn); in kernfs_seq_start() 135 const struct kernfs_ops *ops = kernfs_ops(of->kn); in kernfs_seq_next() 166 of->event = atomic_read(&of->kn->attr.open->event); in kernfs_seq_show() [all …]
|
D | inode.c | 34 static struct kernfs_iattrs *kernfs_iattrs(struct kernfs_node *kn) in kernfs_iattrs() argument 42 if (kn->iattr) in kernfs_iattrs() 45 kn->iattr = kzalloc(sizeof(struct kernfs_iattrs), GFP_KERNEL); in kernfs_iattrs() 46 if (!kn->iattr) in kernfs_iattrs() 48 iattrs = &kn->iattr->ia_iattr; in kernfs_iattrs() 51 iattrs->ia_mode = kn->mode; in kernfs_iattrs() 59 simple_xattrs_init(&kn->iattr->xattrs); in kernfs_iattrs() 61 ret = kn->iattr; in kernfs_iattrs() 66 int __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) in __kernfs_setattr() argument 72 attrs = kernfs_iattrs(kn); in __kernfs_setattr() [all …]
|
D | kernfs-internal.h | 40 static inline struct kernfs_root *kernfs_root(struct kernfs_node *kn) in kernfs_root() argument 43 if (kn->parent) in kernfs_root() 44 kn = kn->parent; in kernfs_root() 45 return kn->dir.root; in kernfs_root() 93 int __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr); 103 struct kernfs_node *kernfs_get_active(struct kernfs_node *kn); 104 void kernfs_put_active(struct kernfs_node *kn); 105 int kernfs_add_one(struct kernfs_node *kn); 118 void kernfs_drain_open_files(struct kernfs_node *kn);
|
D | mount.c | 75 struct kernfs_node *kn; in kernfs_get_node_by_id() local 77 kn = kernfs_find_and_get_node_by_ino(root, id->ino); in kernfs_get_node_by_id() 78 if (!kn) in kernfs_get_node_by_id() 80 if (kn->id.generation != id->generation) { in kernfs_get_node_by_id() 81 kernfs_put(kn); in kernfs_get_node_by_id() 84 return kn; in kernfs_get_node_by_id() 92 struct kernfs_node *kn; in kernfs_fh_get_inode() local 97 kn = kernfs_find_and_get_node_by_ino(info->root, ino); in kernfs_fh_get_inode() 98 if (!kn) in kernfs_fh_get_inode() 100 inode = kernfs_get_inode(sb, kn); in kernfs_fh_get_inode() [all …]
|
/Linux-v4.19/include/linux/ |
D | kernfs.h | 175 int (*rmdir)(struct kernfs_node *kn); 176 int (*rename)(struct kernfs_node *kn, struct kernfs_node *new_parent, 178 int (*show_path)(struct seq_file *sf, struct kernfs_node *kn, 184 struct kernfs_node *kn; member 200 struct kernfs_node *kn; member 273 static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn) in kernfs_type() argument 275 return kn->flags & KERNFS_TYPE_MASK; in kernfs_type() 286 static inline void kernfs_enable_ns(struct kernfs_node *kn) in kernfs_enable_ns() argument 288 WARN_ON_ONCE(kernfs_type(kn) != KERNFS_DIR); in kernfs_enable_ns() 289 WARN_ON_ONCE(!RB_EMPTY_ROOT(&kn->dir.children)); in kernfs_enable_ns() [all …]
|
D | sysfs.h | 242 void sysfs_unbreak_active_protection(struct kernfs_node *kn); 297 static inline void sysfs_enable_ns(struct kernfs_node *kn) in sysfs_enable_ns() argument 299 return kernfs_enable_ns(kn); in sysfs_enable_ns() 363 static inline void sysfs_unbreak_active_protection(struct kernfs_node *kn) in sysfs_unbreak_active_protection() argument 504 static inline void sysfs_enable_ns(struct kernfs_node *kn) in sysfs_enable_ns() argument 528 static inline void sysfs_notify_dirent(struct kernfs_node *kn) in sysfs_notify_dirent() argument 530 kernfs_notify(kn); in sysfs_notify_dirent() 539 static inline struct kernfs_node *sysfs_get(struct kernfs_node *kn) in sysfs_get() argument 541 kernfs_get(kn); in sysfs_get() 542 return kn; in sysfs_get() [all …]
|
D | cgroup.h | 613 return cgrp->kn->id.ino; in cgroup_ino() 619 return of->kn->priv; in of_cft() 642 return kernfs_name(cgrp->kn, buf, buflen); in cgroup_name() 647 return kernfs_path(cgrp->kn, buf, buflen); in cgroup_path() 652 pr_cont_kernfs_name(cgrp->kn); in pr_cont_cgroup_name() 657 pr_cont_kernfs_path(cgrp->kn); in pr_cont_cgroup_path() 681 return &cgrp->kn->id; in cgroup_get_kernfs_id()
|
D | cgroup-defs.h | 107 struct kernfs_node *kn; member 371 struct kernfs_node *kn; /* cgroup kernfs entry */ member
|
/Linux-v4.19/fs/sysfs/ |
D | file.c | 26 static const struct sysfs_ops *sysfs_file_ops(struct kernfs_node *kn) in sysfs_file_ops() argument 28 struct kobject *kobj = kn->parent->priv; in sysfs_file_ops() 30 if (kn->flags & KERNFS_LOCKDEP) in sysfs_file_ops() 31 lockdep_assert_held(kn); in sysfs_file_ops() 43 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_seq_show() 44 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_seq_show() 61 count = ops->show(kobj, of->kn->priv, buf); in sysfs_kf_seq_show() 83 struct bin_attribute *battr = of->kn->priv; in sysfs_kf_bin_read() 84 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_bin_read() 107 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_read() [all …]
|
D | dir.c | 42 struct kernfs_node *parent, *kn; in sysfs_create_dir_ns() local 58 kn = kernfs_create_dir_ns(parent, kobject_name(kobj), in sysfs_create_dir_ns() 61 if (IS_ERR(kn)) { in sysfs_create_dir_ns() 62 if (PTR_ERR(kn) == -EEXIST) in sysfs_create_dir_ns() 64 return PTR_ERR(kn); in sysfs_create_dir_ns() 67 kobj->sd = kn; in sysfs_create_dir_ns() 81 struct kernfs_node *kn = kobj->sd; in sysfs_remove_dir() local 99 if (kn) { in sysfs_remove_dir() 100 WARN_ON_ONCE(kernfs_type(kn) != KERNFS_DIR); in sysfs_remove_dir() 101 kernfs_remove(kn); in sysfs_remove_dir() [all …]
|
D | symlink.c | 24 struct kernfs_node *kn, *target = NULL; in sysfs_do_create_link_sd() local 43 kn = kernfs_create_link(parent, name, target); in sysfs_do_create_link_sd() 46 if (!IS_ERR(kn)) in sysfs_do_create_link_sd() 49 if (warn && PTR_ERR(kn) == -EEXIST) in sysfs_do_create_link_sd() 51 return PTR_ERR(kn); in sysfs_do_create_link_sd() 60 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target, in sysfs_create_link_sd() argument 63 return sysfs_do_create_link_sd(kn, target, name, 1); in sysfs_create_link_sd() 168 struct kernfs_node *parent, *kn = NULL; in sysfs_rename_link_ns() local 181 kn = kernfs_find_and_get_ns(parent, old, old_ns); in sysfs_rename_link_ns() 182 if (!kn) in sysfs_rename_link_ns() [all …]
|
D | group.c | 110 struct kernfs_node *kn; in internal_create_group() local 128 kn = kernfs_find_and_get(kobj->sd, grp->name); in internal_create_group() 129 if (!kn) { in internal_create_group() 135 kn = kernfs_create_dir_ns(kobj->sd, grp->name, in internal_create_group() 138 if (IS_ERR(kn)) { in internal_create_group() 139 if (PTR_ERR(kn) == -EEXIST) in internal_create_group() 141 return PTR_ERR(kn); in internal_create_group() 145 kn = kobj->sd; in internal_create_group() 146 kernfs_get(kn); in internal_create_group() 147 error = create_files(kn, kobj, uid, gid, grp, update); in internal_create_group() [all …]
|
D | sysfs.h | 38 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
|
D | mount.c | 70 sysfs_root_kn = sysfs_root->kn; in sysfs_init()
|
/Linux-v4.19/arch/x86/kernel/cpu/ |
D | intel_rdt_rdtgroup.c | 195 static int rdtgroup_kn_set_ugid(struct kernfs_node *kn) in rdtgroup_kn_set_ugid() argument 205 return kernfs_setattr(kn, &iattr); in rdtgroup_kn_set_ugid() 210 struct kernfs_node *kn; in rdtgroup_add_file() local 213 kn = __kernfs_create_file(parent_kn, rft->name, rft->mode, in rdtgroup_add_file() 216 if (IS_ERR(kn)) in rdtgroup_add_file() 217 return PTR_ERR(kn); in rdtgroup_add_file() 219 ret = rdtgroup_kn_set_ugid(kn); in rdtgroup_add_file() 221 kernfs_remove(kn); in rdtgroup_add_file() 231 struct rftype *rft = of->kn->priv; in rdtgroup_seqfile_show() 241 struct rftype *rft = of->kn->priv; in rdtgroup_file_write() [all …]
|
D | intel_rdt_ctrlmondata.c | 313 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_schemata_write() 315 rdtgroup_kn_unlock(of->kn); in rdtgroup_schemata_write() 369 rdtgroup_kn_unlock(of->kn); in rdtgroup_schemata_write() 401 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_schemata_show() 419 rdtgroup_kn_unlock(of->kn); in rdtgroup_schemata_show() 449 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mondata_show() 451 md.priv = of->kn->priv; in rdtgroup_mondata_show() 473 rdtgroup_kn_unlock(of->kn); in rdtgroup_mondata_show()
|
D | intel_rdt.h | 178 struct kernfs_node *kn; member 520 struct rdtgroup *rdtgroup_kn_lock_live(struct kernfs_node *kn); 521 void rdtgroup_kn_unlock(struct kernfs_node *kn);
|
/Linux-v4.19/kernel/cgroup/ |
D | cgroup.c | 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() [all …]
|
D | debug.c | 48 if (!cgroup_kn_lock_live(of->kn, false)) in current_css_set_read() 72 cgroup_kn_unlock(of->kn); in current_css_set_read() 212 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_subsys_states_read() 232 cgroup_kn_unlock(of->kn); in cgroup_subsys_states_read() 260 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_masks_read() 267 cgroup_kn_unlock(of->kn); in cgroup_masks_read()
|
D | cgroup-v1.c | 527 cgrp = cgroup_kn_lock_live(of->kn, false); in __cgroup1_procs_write() 555 cgroup_kn_unlock(of->kn); in __cgroup1_procs_write() 579 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_release_agent_write() 586 cgroup_kn_unlock(of->kn); in cgroup_release_agent_write() 719 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); in cgroupstats_build() local 725 if (dentry->d_sb->s_type != &cgroup_fs_type || !kn || in cgroupstats_build() 726 kernfs_type(kn) != KERNFS_DIR) in cgroupstats_build() 737 cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); in cgroupstats_build() 845 static int cgroup1_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, in cgroup1_rename() argument 848 struct cgroup *cgrp = kn->priv; in cgroup1_rename() [all …]
|
D | cgroup-internal.h | 192 struct cgroup *cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline); 193 void cgroup_kn_unlock(struct kernfs_node *kn); 223 int cgroup_rmdir(struct kernfs_node *kn);
|
/Linux-v4.19/drivers/net/ethernet/apm/xgene/ |
D | xgene_enet_cle.c | 62 static void xgene_cle_kn_to_hw(struct xgene_cle_ptree_kn *kn, u32 *buf) in xgene_cle_kn_to_hw() argument 67 buf[j++] = SET_VAL(CLE_TYPE, kn->node_type); in xgene_cle_kn_to_hw() 68 for (i = 0; i < kn->num_keys; i++) { in xgene_cle_kn_to_hw() 69 struct xgene_cle_ptree_key *key = &kn->key[i]; in xgene_cle_kn_to_hw() 581 struct xgene_cle_ptree_kn *kn = ptree->kn; in xgene_cle_setup_node() local 597 xgene_cle_kn_to_hw(&kn[j - num_dn], buf); in xgene_cle_setup_node() 779 struct xgene_cle_ptree_kn kn; in xgene_enet_cle_init() local 818 memset(&kn, 0, sizeof(kn)); in xgene_enet_cle_init() 819 kn.node_type = KN; in xgene_enet_cle_init() 820 kn.num_keys = 1; in xgene_enet_cle_init() [all …]
|
/Linux-v4.19/drivers/of/ |
D | kobj.c | 43 struct kernfs_node *kn; in safe_name() local 47 while (i < 16 && (kn = sysfs_get_dirent(kobj->sd, name))) { in safe_name() 48 sysfs_put(kn); in safe_name()
|