/linux-master/fs/kernfs/ |
H A D | dir.c | 20 static DEFINE_RWLOCK(kernfs_rename_lock); /* kn->parent and ->name */ 34 static bool __kernfs_active(struct kernfs_node *kn) argument 36 return atomic_read(&kn->active) >= 0; 39 static bool kernfs_active(struct kernfs_node *kn) argument 41 lockdep_assert_held(&kernfs_root(kn)->kernfs_rwsem); 42 return __kernfs_active(kn); 45 static bool kernfs_lockdep(struct kernfs_node *kn) argument 48 return kn->flags & KERNFS_LOCKDEP; 54 static int kernfs_name_locked(struct kernfs_node *kn, char *buf, size_t buflen) argument 56 if (!kn) 138 struct kernfs_node *kn, *common; local 196 kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen) argument 242 pr_cont_kernfs_name(struct kernfs_node *kn) argument 260 pr_cont_kernfs_path(struct kernfs_node *kn) argument 292 kernfs_get_parent(struct kernfs_node *kn) argument 328 kernfs_name_compare(unsigned int hash, const char *name, const void *ns, const struct kernfs_node *kn) argument 361 kernfs_link_sibling(struct kernfs_node *kn) argument 408 kernfs_unlink_sibling(struct kernfs_node *kn) argument 434 kernfs_get_active(struct kernfs_node *kn) argument 454 kernfs_put_active(struct kernfs_node *kn) argument 523 kernfs_get(struct kernfs_node *kn) argument 534 struct kernfs_node *kn = container_of(rcu, struct kernfs_node, rcu); local 552 kernfs_put(struct kernfs_node *kn) argument 616 struct kernfs_node *kn; local 686 struct kernfs_node *kn; local 723 struct kernfs_node *kn; local 770 kernfs_add_one(struct kernfs_node *kn) argument 855 struct kernfs_node *kn; local 915 struct kernfs_node *kn; local 941 struct kernfs_node *kn; local 965 struct kernfs_node *kn; local 1057 struct kernfs_node *kn; local 1089 struct kernfs_node *kn; local 1114 struct kernfs_node *kn; local 1194 struct kernfs_node *kn; local 1254 struct kernfs_node *kn = kernfs_dentry_node(dentry); local 1275 struct kernfs_node *kn = kernfs_dentry_node(old_dentry); local 1370 kernfs_activate_one(struct kernfs_node *kn) argument 1398 kernfs_activate(struct kernfs_node *kn) argument 1424 kernfs_show(struct kernfs_node *kn, bool show) argument 1447 __kernfs_remove(struct kernfs_node *kn) argument 1518 kernfs_remove(struct kernfs_node *kn) argument 1546 kernfs_break_active_protection(struct kernfs_node *kn) argument 1570 kernfs_unbreak_active_protection(struct kernfs_node *kn) argument 1614 kernfs_remove_self(struct kernfs_node *kn) argument 1679 struct kernfs_node *kn; local 1715 kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name, const void *new_ns) argument [all...] |
H A D | symlink.c | 29 struct kernfs_node *kn; local 39 kn = kernfs_new_node(parent, name, S_IFLNK|0777, uid, gid, KERNFS_LINK); 40 if (!kn) 44 kn->ns = target->ns; 45 kn->symlink.target_kn = target; 48 error = kernfs_add_one(kn); 50 return kn; 52 kernfs_put(kn); 59 struct kernfs_node *base, *kn; local 66 kn 113 struct kernfs_node *kn = inode->i_private; local [all...] |
H A D | inode.c | 27 static struct kernfs_iattrs *__kernfs_iattrs(struct kernfs_node *kn, int alloc) argument 34 if (kn->iattr || !alloc) 37 kn->iattr = kmem_cache_zalloc(kernfs_iattrs_cache, GFP_KERNEL); 38 if (!kn->iattr) 42 kn->iattr->ia_uid = GLOBAL_ROOT_UID; 43 kn->iattr->ia_gid = GLOBAL_ROOT_GID; 45 ktime_get_real_ts64(&kn->iattr->ia_atime); 46 kn->iattr->ia_mtime = kn->iattr->ia_atime; 47 kn 58 kernfs_iattrs(struct kernfs_node *kn) argument 63 kernfs_iattrs_noalloc(struct kernfs_node *kn) argument 68 __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) argument 99 kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) argument 114 struct kernfs_node *kn = inode->i_private; local 141 struct kernfs_node *kn = kernfs_dentry_node(dentry); local 167 kernfs_refresh_inode(struct kernfs_node *kn, struct inode *inode) argument 188 struct kernfs_node *kn = inode->i_private; local 199 kernfs_init_inode(struct kernfs_node *kn, struct inode *inode) argument 247 kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn) argument 267 struct kernfs_node *kn = inode->i_private; local 277 struct kernfs_node *kn; local 295 kernfs_xattr_get(struct kernfs_node *kn, const char *name, void *value, size_t size) argument 305 kernfs_xattr_set(struct kernfs_node *kn, const char *name, const void *value, size_t size, int flags) argument 326 struct kernfs_node *kn = inode->i_private; local 338 struct kernfs_node *kn = inode->i_private; local 343 kernfs_vfs_user_xattr_add(struct kernfs_node *kn, const char *full_name, struct simple_xattrs *xattrs, const void *value, size_t size, int flags) argument 382 kernfs_vfs_user_xattr_rm(struct kernfs_node *kn, const char *full_name, struct simple_xattrs *xattrs, const void *value, size_t size, int flags) argument 411 struct kernfs_node *kn = inode->i_private; local [all...] |
H A D | file.c | 43 static inline struct mutex *kernfs_open_file_mutex_ptr(struct kernfs_node *kn) argument 45 int idx = hash_ptr(kn, NR_KERNFS_LOCK_BITS); 50 static inline struct mutex *kernfs_open_file_mutex_lock(struct kernfs_node *kn) argument 54 lock = kernfs_open_file_mutex_ptr(kn); 69 return rcu_dereference_protected(of->kn->attr.open, 74 * kernfs_deref_open_node_locked - Get kernfs_open_node corresponding to @kn 76 * @kn: target kernfs_node. 78 * Fetch and return ->attr.open of @kn when caller holds the 79 * kernfs_open_file_mutex_ptr(kn). 81 * Update of ->attr.open happens under kernfs_open_file_mutex_ptr(kn) 91 kernfs_deref_open_node_locked(struct kernfs_node *kn) argument 106 kernfs_ops(struct kernfs_node *kn) argument 514 kernfs_get_open_node(struct kernfs_node *kn, struct kernfs_open_file *of) argument 558 kernfs_unlink_open_file(struct kernfs_node *kn, struct kernfs_open_file *of, bool open_failed) argument 594 struct kernfs_node *kn = inode->i_private; local 721 kernfs_release_file(struct kernfs_node *kn, struct kernfs_open_file *of) argument 747 struct kernfs_node *kn = inode->i_private; local 766 kernfs_should_drain_open_files(struct kernfs_node *kn) argument 785 kernfs_drain_open_files(struct kernfs_node *kn) argument 844 struct kernfs_node *kn = kernfs_dentry_node(filp->f_path.dentry); local 888 struct kernfs_node *kn; local 955 kernfs_notify(struct kernfs_node *kn) argument 1021 struct kernfs_node *kn; local [all...] |
H A D | kernfs-internal.h | 36 struct kernfs_node *kn; member in struct:kernfs_root 63 * @kn: kernfs_node of interest 65 * Return: the kernfs_root @kn belongs to. 67 static inline struct kernfs_root *kernfs_root(struct kernfs_node *kn) argument 70 if (kn->parent) 71 kn = kn->parent; 72 return kn->dir.root; 142 int __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr); 151 struct kernfs_node *kernfs_get_active(struct kernfs_node *kn); [all...] |
H A D | mount.c | 70 struct kernfs_node *kn = inode->i_private; local 78 *(u64 *)fh = kn->id; 87 struct kernfs_node *kn; local 112 kn = kernfs_find_and_get_node_by_id(info->root, id); 113 if (!kn) 119 parent = kernfs_get_parent(kn); 120 kernfs_put(kn); 121 kn = parent; 122 if (!kn) 126 inode = kernfs_get_inode(sb, kn); 147 struct kernfs_node *kn = kernfs_dentry_node(child); local 205 kernfs_node_dentry(struct kernfs_node *kn, struct super_block *sb) argument [all...] |
/linux-master/fs/sysfs/ |
H A D | dir.c | 42 struct kernfs_node *parent, *kn; local 59 kn = kernfs_create_dir_ns(parent, kobject_name(kobj), 0755, uid, gid, 61 if (IS_ERR(kn)) { 62 if (PTR_ERR(kn) == -EEXIST) 64 return PTR_ERR(kn); 67 kobj->sd = kn; 81 struct kernfs_node *kn = kobj->sd; local 99 if (kn) { 100 WARN_ON_ONCE(kernfs_type(kn) != KERNFS_DIR); 101 kernfs_remove(kn); 120 struct kernfs_node *kn = kobj->sd; local 136 struct kernfs_node *kn, *parent = parent_kobj->sd; local [all...] |
H A D | symlink.c | 24 struct kernfs_node *kn, *target = NULL; local 44 kn = kernfs_create_link(parent, name, target); 47 if (!IS_ERR(kn)) 50 if (warn && PTR_ERR(kn) == -EEXIST) 52 return PTR_ERR(kn); 57 * @kn: directory we're creating the link in. 61 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target, argument 64 return sysfs_do_create_link_sd(kn, target, name, 1); 169 struct kernfs_node *parent, *kn = NULL; local 182 kn [all...] |
H A D | file.c | 26 static const struct sysfs_ops *sysfs_file_ops(struct kernfs_node *kn) argument 28 struct kobject *kobj = kn->parent->priv; 30 if (kn->flags & KERNFS_LOCKDEP) 31 lockdep_assert_held(kn); 43 struct kobject *kobj = of->kn->parent->priv; 44 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); 59 count = ops->show(kobj, of->kn->priv, buf); 80 struct bin_attribute *battr = of->kn->priv; 81 struct kobject *kobj = of->kn->parent->priv; 104 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); 194 struct kernfs_node *kn = kobj->sd, *tmp; local 275 struct kernfs_node *kn; local 324 struct kernfs_node *kn; local 429 struct kernfs_node *kn; local 460 struct kernfs_node *kn; local 481 sysfs_unbreak_active_protection(struct kernfs_node *kn) argument 518 struct kernfs_node *kn; local 598 internal_change_owner(struct kernfs_node *kn, kuid_t kuid, kgid_t kgid) argument 626 struct kernfs_node *kn = NULL; local 665 struct kernfs_node *kn; local [all...] |
H A D | group.c | 123 struct kernfs_node *kn; local 151 kn = kernfs_find_and_get(kobj->sd, grp->name); 152 if (!kn) { 159 kernfs_put(kn); 167 kn = kernfs_create_dir_ns(kobj->sd, grp->name, mode, 169 if (IS_ERR(kn)) { 170 if (PTR_ERR(kn) == -EEXIST) 172 return PTR_ERR(kn); 176 kn = kobj->sd; 179 kernfs_get(kn); 305 struct kernfs_node *kn; local 502 struct kernfs_node *kn; local [all...] |
H A D | sysfs.h | 40 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
|
/linux-master/include/linux/ |
H A D | kernfs.h | 155 /* children rbtree starts here and goes through kn->rb */ 242 int (*rmdir)(struct kernfs_node *kn); 243 int (*rename)(struct kernfs_node *kn, struct kernfs_node *new_parent, 245 int (*show_path)(struct seq_file *sf, struct kernfs_node *kn, 253 struct kernfs_node *kn; member in struct:kernfs_open_file 338 static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn) argument 340 return kn->flags & KERNFS_TYPE_MASK; 361 static inline ino_t kernfs_ino(struct kernfs_node *kn) argument 363 return kernfs_id_ino(kn->id); 366 static inline ino_t kernfs_gen(struct kernfs_node *kn) argument 379 kernfs_enable_ns(struct kernfs_node *kn) argument 392 kernfs_ns_enabled(struct kernfs_node *kn) argument 467 kernfs_type(struct kernfs_node *kn) argument 470 kernfs_enable_ns(struct kernfs_node *kn) argument 472 kernfs_ns_enabled(struct kernfs_node *kn) argument 475 kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen) argument 478 kernfs_path_from_node(struct kernfs_node *root_kn, struct kernfs_node *kn, char *buf, size_t buflen) argument 483 pr_cont_kernfs_name(struct kernfs_node *kn) argument 484 pr_cont_kernfs_path(struct kernfs_node *kn) argument 486 kernfs_get_parent(struct kernfs_node *kn) argument 498 kernfs_get(struct kernfs_node *kn) argument 499 kernfs_put(struct kernfs_node *kn) argument 508 kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn) argument 536 kernfs_activate(struct kernfs_node *kn) argument 538 kernfs_remove(struct kernfs_node *kn) argument 540 kernfs_remove_self(struct kernfs_node *kn) argument 543 kernfs_remove_by_name_ns(struct kernfs_node *kn, const char *name, const void *ns) argument 547 kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name, const void *new_ns) argument 552 kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) argument 560 kernfs_notify(struct kernfs_node *kn) argument 562 kernfs_xattr_get(struct kernfs_node *kn, const char *name, void *value, size_t size) argument 566 kernfs_xattr_set(struct kernfs_node *kn, const char *name, const void *value, size_t size, int flags) argument 596 kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen) argument 602 kernfs_find_and_get(struct kernfs_node *kn, const char *name) argument 608 kernfs_walk_and_get(struct kernfs_node *kn, const char *path) argument 628 kernfs_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name) argument [all...] |
H A D | sysfs.h | 402 void sysfs_unbreak_active_protection(struct kernfs_node *kn); 460 static inline void sysfs_enable_ns(struct kernfs_node *kn) argument 462 return kernfs_enable_ns(kn); 542 static inline void sysfs_unbreak_active_protection(struct kernfs_node *kn) argument 689 static inline void sysfs_enable_ns(struct kernfs_node *kn) argument 758 static inline void sysfs_notify_dirent(struct kernfs_node *kn) argument 760 kernfs_notify(kn); 769 static inline struct kernfs_node *sysfs_get(struct kernfs_node *kn) argument 771 kernfs_get(kn); 772 return kn; 775 sysfs_put(struct kernfs_node *kn) argument [all...] |
/linux-master/tools/testing/selftests/bpf/progs/ |
H A D | cgrp_ls_sleepable.c | 40 cgroup_id = cgrp->kn->id; 54 cgroup_id = cgrp->kn->id; 112 cgroup_id = cgrp->kn->id; 123 cgroup_id = cgrp->kn->id;
|
H A D | cgroup_iter.c | 14 return cgrp->kn->id;
|
H A D | iters_css.c | 53 last_cg_id = cur_cgrp->kn->id; 60 first_cg_id = cur_cgrp->kn->id;
|
H A D | test_cgroup1_hierarchy.c | 37 if (cgrp->kn->id == target_ancestor_cgid) 44 if (ancestor->kn->id == target_ancestor_cgid)
|
/linux-master/arch/x86/kernel/cpu/resctrl/ |
H A D | rdtgroup.c | 232 static int rdtgroup_kn_set_ugid(struct kernfs_node *kn) argument 242 return kernfs_setattr(kn, &iattr); 247 struct kernfs_node *kn; local 250 kn = __kernfs_create_file(parent_kn, rft->name, rft->mode, 253 if (IS_ERR(kn)) 254 return PTR_ERR(kn); 256 ret = rdtgroup_kn_set_ugid(kn); 258 kernfs_remove(kn); 268 struct rftype *rft = of->kn->priv; 278 struct rftype *rft = of->kn 1978 rdtgroup_add_files(struct kernfs_node *kn, unsigned long fflags) argument 2065 struct kernfs_node *kn; local 2104 struct kernfs_node *kn, *parent; local 2215 struct kernfs_node *kn; local 2421 kernfs_to_rdtgroup(struct kernfs_node *kn) argument 2439 rdtgroup_kn_get(struct rdtgroup *rdtgrp, struct kernfs_node *kn) argument 2445 rdtgroup_kn_put(struct rdtgroup *rdtgrp, struct kernfs_node *kn) argument 2459 rdtgroup_kn_lock_live(struct kernfs_node *kn) argument 2478 rdtgroup_kn_unlock(struct kernfs_node *kn) argument 2995 struct kernfs_node *kn; local 3037 struct kernfs_node *kn; local 3141 struct kernfs_node *kn; local 3392 struct kernfs_node *kn; local 3524 struct kernfs_node *kn; local 3592 is_mon_groups(struct kernfs_node *kn, const char *name) argument 3701 rdtgroup_rmdir(struct kernfs_node *kn) argument 3781 rdtgroup_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name) argument [all...] |
/linux-master/kernel/cgroup/ |
H A D | debug.c | 48 if (!cgroup_kn_lock_live(of->kn, false)) 72 cgroup_kn_unlock(of->kn); 212 cgrp = cgroup_kn_lock_live(of->kn, false); 232 cgroup_kn_unlock(of->kn); 260 cgrp = cgroup_kn_lock_live(of->kn, false); 267 cgroup_kn_unlock(of->kn);
|
H A D | cgroup.c | 109 * Protects cgroup_file->kn for !self csses. It synchronizes notifications 638 struct cgroup *cgrp = of->kn->parent->priv; 1600 * @kn: the kernfs_node being serviced 1608 void cgroup_kn_unlock(struct kernfs_node *kn) argument 1612 if (kernfs_type(kn) == KERNFS_DIR) 1613 cgrp = kn->priv; 1615 cgrp = kn->parent->priv; 1619 kernfs_unbreak_active_protection(kn); 1625 * @kn: the kernfs_node being serviced 1629 * @kn 1640 cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline) argument 4195 struct kernfs_node *kn; local 4495 struct kernfs_node *kn; local 5593 struct kernfs_node *kn; local 5954 cgroup_rmdir(struct kernfs_node *kn) argument 6190 struct kernfs_node *kn; local 6207 struct kernfs_node *kn; local 6789 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); local 6842 struct kernfs_node *kn; local [all...] |
H A D | cgroup-v1.c | 498 cgrp = cgroup_kn_lock_live(of->kn, false); 527 cgroup_kn_unlock(of->kn); 561 cgrp = cgroup_kn_lock_live(of->kn, false); 568 cgroup_kn_unlock(of->kn); 700 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); local 706 if (dentry->d_sb->s_type != &cgroup_fs_type || !kn || 707 kernfs_type(kn) != KERNFS_DIR) 712 * @kn->priv's validity. For this and css_tryget_online_from_dir(), 713 * @kn->priv is RCU safe. Let's do the RCU dancing. 716 cgrp = rcu_dereference(*(void __rcu __force **)&kn 826 cgroup1_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name_str) argument [all...] |
/linux-master/scripts/gdb/linux/ |
H A D | device.py | 73 for kn in klist_for_each(bus['klist_devices']): 74 dp = container_of(kn, device_private_type.get_type().pointer(), 'knode_bus') 79 for kn in klist_for_each(cls['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-master/arch/s390/pci/ |
H A D | pci_sysfs.c | 88 struct kernfs_node *kn; local 103 kn = sysfs_break_active_protection(&dev->kobj, &attr->attr); 104 WARN_ON_ONCE(!kn); 130 if (kn) 131 sysfs_unbreak_active_protection(kn);
|
/linux-master/drivers/of/ |
H A D | kobj.c | 43 struct kernfs_node *kn; local 47 while (i < 16 && (kn = sysfs_get_dirent(kobj->sd, name))) { 48 sysfs_put(kn);
|
/linux-master/drivers/net/ethernet/apm/xgene/ |
H A D | xgene_enet_cle.c | 50 static void xgene_cle_kn_to_hw(struct xgene_cle_ptree_kn *kn, u32 *buf) argument 55 buf[j++] = SET_VAL(CLE_TYPE, kn->node_type); 56 for (i = 0; i < kn->num_keys; i++) { 57 struct xgene_cle_ptree_key *key = &kn->key[i]; 569 struct xgene_cle_ptree_kn *kn = ptree->kn; local 585 xgene_cle_kn_to_hw(&kn[j - num_dn], buf); 767 struct xgene_cle_ptree_kn kn; local 806 memset(&kn, 0, sizeof(kn)); [all...] |