Home
last modified time | relevance | path

Searched refs:kn (Results 1 – 25 of 42) sorted by relevance

12

/Linux-v5.4/fs/kernfs/
Ddir.c27 static bool kernfs_active(struct kernfs_node *kn) in kernfs_active() argument
30 return atomic_read(&kn->active) >= 0; in kernfs_active()
33 static bool kernfs_lockdep(struct kernfs_node *kn) in kernfs_lockdep() argument
36 return kn->flags & KERNFS_LOCKDEP; in kernfs_lockdep()
42 static int kernfs_name_locked(struct kernfs_node *kn, char *buf, size_t buflen) in kernfs_name_locked() argument
44 if (!kn) in kernfs_name_locked()
47 return strlcpy(buf, kn->parent ? kn->name : "/", buflen); in kernfs_name_locked()
71 da = kernfs_depth(ra->kn, a); in kernfs_common_ancestor()
72 db = kernfs_depth(rb->kn, b); in kernfs_common_ancestor()
126 struct kernfs_node *kn, *common; in kernfs_path_from_node_locked() local
[all …]
Dinode.c33 static struct kernfs_iattrs *__kernfs_iattrs(struct kernfs_node *kn, int alloc) in __kernfs_iattrs() argument
40 if (kn->iattr || !alloc) in __kernfs_iattrs()
43 kn->iattr = kmem_cache_zalloc(kernfs_iattrs_cache, GFP_KERNEL); in __kernfs_iattrs()
44 if (!kn->iattr) in __kernfs_iattrs()
48 kn->iattr->ia_uid = GLOBAL_ROOT_UID; in __kernfs_iattrs()
49 kn->iattr->ia_gid = GLOBAL_ROOT_GID; in __kernfs_iattrs()
51 ktime_get_real_ts64(&kn->iattr->ia_atime); in __kernfs_iattrs()
52 kn->iattr->ia_mtime = kn->iattr->ia_atime; in __kernfs_iattrs()
53 kn->iattr->ia_ctime = kn->iattr->ia_atime; in __kernfs_iattrs()
55 simple_xattrs_init(&kn->iattr->xattrs); in __kernfs_iattrs()
[all …]
Dsymlink.c29 struct kernfs_node *kn; in kernfs_create_link() local
39 kn = kernfs_new_node(parent, name, S_IFLNK|S_IRWXUGO, uid, gid, in kernfs_create_link()
41 if (!kn) in kernfs_create_link()
45 kn->ns = target->ns; in kernfs_create_link()
46 kn->symlink.target_kn = target; in kernfs_create_link()
49 error = kernfs_add_one(kn); in kernfs_create_link()
51 return kn; in kernfs_create_link()
53 kernfs_put(kn); in kernfs_create_link()
60 struct kernfs_node *base, *kn; in kernfs_get_target_path() local
67 kn = target->parent; in kernfs_get_target_path()
[all …]
Dfile.c63 static const struct kernfs_ops *kernfs_ops(struct kernfs_node *kn) in kernfs_ops() argument
65 if (kn->flags & KERNFS_LOCKDEP) in kernfs_ops()
66 lockdep_assert_held(kn); in kernfs_ops()
67 return kn->attr.ops; in kernfs_ops()
95 const struct kernfs_ops *ops = kernfs_ops(of->kn); in kernfs_seq_stop_active()
99 kernfs_put_active(of->kn); in kernfs_seq_stop_active()
112 if (!kernfs_get_active(of->kn)) in kernfs_seq_start()
115 ops = kernfs_ops(of->kn); in kernfs_seq_start()
134 const struct kernfs_ops *ops = kernfs_ops(of->kn); in kernfs_seq_next()
165 of->event = atomic_read(&of->kn->attr.open->event); in kernfs_seq_show()
[all …]
Dkernfs-internal.h42 static inline struct kernfs_root *kernfs_root(struct kernfs_node *kn) in kernfs_root() argument
45 if (kn->parent) in kernfs_root()
46 kn = kn->parent; in kernfs_root()
47 return kn->dir.root; in kernfs_root()
95 int __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr);
105 struct kernfs_node *kernfs_get_active(struct kernfs_node *kn);
106 void kernfs_put_active(struct kernfs_node *kn);
107 int kernfs_add_one(struct kernfs_node *kn);
120 void kernfs_drain_open_files(struct kernfs_node *kn);
Dmount.c63 struct kernfs_node *kn; in kernfs_get_node_by_id() local
65 kn = kernfs_find_and_get_node_by_ino(root, id->ino); in kernfs_get_node_by_id()
66 if (!kn) in kernfs_get_node_by_id()
68 if (kn->id.generation != id->generation) { in kernfs_get_node_by_id()
69 kernfs_put(kn); in kernfs_get_node_by_id()
72 return kn; in kernfs_get_node_by_id()
80 struct kernfs_node *kn; in kernfs_fh_get_inode() local
85 kn = kernfs_find_and_get_node_by_ino(info->root, ino); in kernfs_fh_get_inode()
86 if (!kn) in kernfs_fh_get_inode()
88 inode = kernfs_get_inode(sb, kn); in kernfs_fh_get_inode()
[all …]
/Linux-v5.4/include/linux/
Dkernfs.h176 int (*rmdir)(struct kernfs_node *kn);
177 int (*rename)(struct kernfs_node *kn, struct kernfs_node *new_parent,
179 int (*show_path)(struct seq_file *sf, struct kernfs_node *kn,
185 struct kernfs_node *kn; member
201 struct kernfs_node *kn; member
289 static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn) in kernfs_type() argument
291 return kn->flags & KERNFS_TYPE_MASK; in kernfs_type()
302 static inline void kernfs_enable_ns(struct kernfs_node *kn) in kernfs_enable_ns() argument
304 WARN_ON_ONCE(kernfs_type(kn) != KERNFS_DIR); in kernfs_enable_ns()
305 WARN_ON_ONCE(!RB_EMPTY_ROOT(&kn->dir.children)); in kernfs_enable_ns()
[all …]
Dsysfs.h251 void sysfs_unbreak_active_protection(struct kernfs_node *kn);
308 static inline void sysfs_enable_ns(struct kernfs_node *kn) in sysfs_enable_ns() argument
310 return kernfs_enable_ns(kn); in sysfs_enable_ns()
374 static inline void sysfs_unbreak_active_protection(struct kernfs_node *kn) in sysfs_unbreak_active_protection() argument
521 static inline void sysfs_enable_ns(struct kernfs_node *kn) in sysfs_enable_ns() argument
545 static inline void sysfs_notify_dirent(struct kernfs_node *kn) in sysfs_notify_dirent() argument
547 kernfs_notify(kn); in sysfs_notify_dirent()
556 static inline struct kernfs_node *sysfs_get(struct kernfs_node *kn) in sysfs_get() argument
558 kernfs_get(kn); in sysfs_get()
559 return kn; in sysfs_get()
[all …]
Dcgroup.h620 return cgrp->kn->id.ino; in cgroup_ino()
626 return of->kn->priv; in of_cft()
649 return kernfs_name(cgrp->kn, buf, buflen); in cgroup_name()
654 return kernfs_path(cgrp->kn, buf, buflen); in cgroup_path()
659 pr_cont_kernfs_name(cgrp->kn); in pr_cont_cgroup_name()
664 pr_cont_kernfs_path(cgrp->kn); in pr_cont_cgroup_path()
693 return &cgrp->kn->id; in cgroup_get_kernfs_id()
Dcgroup-defs.h121 struct kernfs_node *kn; member
410 struct kernfs_node *kn; /* cgroup kernfs entry */ member
/Linux-v5.4/fs/sysfs/
Dfile.c25 static const struct sysfs_ops *sysfs_file_ops(struct kernfs_node *kn) in sysfs_file_ops() argument
27 struct kobject *kobj = kn->parent->priv; in sysfs_file_ops()
29 if (kn->flags & KERNFS_LOCKDEP) in sysfs_file_ops()
30 lockdep_assert_held(kn); in sysfs_file_ops()
42 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_seq_show()
43 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_seq_show()
60 count = ops->show(kobj, of->kn->priv, buf); in sysfs_kf_seq_show()
82 struct bin_attribute *battr = of->kn->priv; in sysfs_kf_bin_read()
83 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_bin_read()
106 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_read()
[all …]
Ddir.c42 struct kernfs_node *parent, *kn; in sysfs_create_dir_ns() local
59 kn = kernfs_create_dir_ns(parent, kobject_name(kobj), in sysfs_create_dir_ns()
62 if (IS_ERR(kn)) { in sysfs_create_dir_ns()
63 if (PTR_ERR(kn) == -EEXIST) in sysfs_create_dir_ns()
65 return PTR_ERR(kn); in sysfs_create_dir_ns()
68 kobj->sd = kn; in sysfs_create_dir_ns()
82 struct kernfs_node *kn = kobj->sd; in sysfs_remove_dir() local
100 if (kn) { in sysfs_remove_dir()
101 WARN_ON_ONCE(kernfs_type(kn) != KERNFS_DIR); in sysfs_remove_dir()
102 kernfs_remove(kn); in sysfs_remove_dir()
[all …]
Dsymlink.c24 struct kernfs_node *kn, *target = NULL; in sysfs_do_create_link_sd() local
44 kn = kernfs_create_link(parent, name, target); in sysfs_do_create_link_sd()
47 if (!IS_ERR(kn)) in sysfs_do_create_link_sd()
50 if (warn && PTR_ERR(kn) == -EEXIST) in sysfs_do_create_link_sd()
52 return PTR_ERR(kn); in sysfs_do_create_link_sd()
61 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target, in sysfs_create_link_sd() argument
64 return sysfs_do_create_link_sd(kn, target, name, 1); in sysfs_create_link_sd()
169 struct kernfs_node *parent, *kn = NULL; in sysfs_rename_link_ns() local
182 kn = kernfs_find_and_get_ns(parent, old, old_ns); in sysfs_rename_link_ns()
183 if (!kn) in sysfs_rename_link_ns()
[all …]
Dgroup.c110 struct kernfs_node *kn; in internal_create_group() local
129 kn = kernfs_find_and_get(kobj->sd, grp->name); in internal_create_group()
130 if (!kn) { in internal_create_group()
136 kn = kernfs_create_dir_ns(kobj->sd, grp->name, in internal_create_group()
139 if (IS_ERR(kn)) { in internal_create_group()
140 if (PTR_ERR(kn) == -EEXIST) in internal_create_group()
142 return PTR_ERR(kn); in internal_create_group()
146 kn = kobj->sd; in internal_create_group()
147 kernfs_get(kn); in internal_create_group()
148 error = create_files(kn, kobj, uid, gid, grp, update); in internal_create_group()
[all …]
Dsysfs.h38 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
/Linux-v5.4/arch/x86/kernel/cpu/resctrl/
Drdtgroup.c189 static int rdtgroup_kn_set_ugid(struct kernfs_node *kn) in rdtgroup_kn_set_ugid() argument
199 return kernfs_setattr(kn, &iattr); in rdtgroup_kn_set_ugid()
204 struct kernfs_node *kn; in rdtgroup_add_file() local
207 kn = __kernfs_create_file(parent_kn, rft->name, rft->mode, in rdtgroup_add_file()
210 if (IS_ERR(kn)) in rdtgroup_add_file()
211 return PTR_ERR(kn); in rdtgroup_add_file()
213 ret = rdtgroup_kn_set_ugid(kn); in rdtgroup_add_file()
215 kernfs_remove(kn); in rdtgroup_add_file()
225 struct rftype *rft = of->kn->priv; in rdtgroup_seqfile_show()
235 struct rftype *rft = of->kn->priv; in rdtgroup_file_write()
[all …]
Dctrlmondata.c378 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_schemata_write()
380 rdtgroup_kn_unlock(of->kn); in rdtgroup_schemata_write()
435 rdtgroup_kn_unlock(of->kn); in rdtgroup_schemata_write()
468 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_schemata_show()
494 rdtgroup_kn_unlock(of->kn); in rdtgroup_schemata_show()
524 rdtgrp = rdtgroup_kn_lock_live(of->kn); in rdtgroup_mondata_show()
530 md.priv = of->kn->priv; in rdtgroup_mondata_show()
552 rdtgroup_kn_unlock(of->kn); in rdtgroup_mondata_show()
Dinternal.h201 struct kernfs_node *kn; member
551 struct rdtgroup *rdtgroup_kn_lock_live(struct kernfs_node *kn);
552 void rdtgroup_kn_unlock(struct kernfs_node *kn);
/Linux-v5.4/kernel/cgroup/
Dcgroup.c632 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()
[all …]
Ddebug.c48 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()
Dcgroup-v1.c499 cgrp = cgroup_kn_lock_live(of->kn, false); in __cgroup1_procs_write()
527 cgroup_kn_unlock(of->kn); in __cgroup1_procs_write()
551 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_release_agent_write()
558 cgroup_kn_unlock(of->kn); in cgroup_release_agent_write()
691 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); in cgroupstats_build() local
697 if (dentry->d_sb->s_type != &cgroup_fs_type || !kn || in cgroupstats_build()
698 kernfs_type(kn) != KERNFS_DIR) in cgroupstats_build()
709 cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); in cgroupstats_build()
817 static int cgroup1_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, in cgroup1_rename() argument
820 struct cgroup *cgrp = kn->priv; in cgroup1_rename()
[all …]
Dcgroup-internal.h213 struct cgroup *cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline);
214 void cgroup_kn_unlock(struct kernfs_node *kn);
242 int cgroup_rmdir(struct kernfs_node *kn);
/Linux-v5.4/scripts/gdb/linux/
Ddevice.py73 for kn in klist_for_each(bus['p']['klist_devices']):
74 dp = container_of(kn, device_private_type.get_type().pointer(), 'knode_bus')
79 for kn in klist_for_each(cls['p']['klist_devices']):
80 dp = container_of(kn, device_private_type.get_type().pointer(), 'knode_class')
85 for kn in klist_for_each(dev['p']['klist_children']):
86 dp = container_of(kn, device_private_type.get_type().pointer(), 'knode_parent')
/Linux-v5.4/drivers/net/ethernet/apm/xgene/
Dxgene_enet_cle.c50 static void xgene_cle_kn_to_hw(struct xgene_cle_ptree_kn *kn, u32 *buf) in xgene_cle_kn_to_hw() argument
55 buf[j++] = SET_VAL(CLE_TYPE, kn->node_type); in xgene_cle_kn_to_hw()
56 for (i = 0; i < kn->num_keys; i++) { in xgene_cle_kn_to_hw()
57 struct xgene_cle_ptree_key *key = &kn->key[i]; in xgene_cle_kn_to_hw()
569 struct xgene_cle_ptree_kn *kn = ptree->kn; in xgene_cle_setup_node() local
585 xgene_cle_kn_to_hw(&kn[j - num_dn], buf); in xgene_cle_setup_node()
767 struct xgene_cle_ptree_kn kn; in xgene_enet_cle_init() local
806 memset(&kn, 0, sizeof(kn)); in xgene_enet_cle_init()
807 kn.node_type = KN; in xgene_enet_cle_init()
808 kn.num_keys = 1; in xgene_enet_cle_init()
[all …]
/Linux-v5.4/drivers/of/
Dkobj.c43 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()

12