Home
last modified time | relevance | path

Searched refs:kn (Results 1 - 25 of 92) sorted by relevance

1234

/kernel/linux/linux-6.6/fs/kernfs/
H A Ddir.c20 static DEFINE_RWLOCK(kernfs_rename_lock); /* kn->parent and ->name */
34 static bool __kernfs_active(struct kernfs_node *kn) in __kernfs_active() argument
36 return atomic_read(&kn->active) >= 0; in __kernfs_active()
39 static bool kernfs_active(struct kernfs_node *kn) in kernfs_active() argument
41 lockdep_assert_held(&kernfs_root(kn)->kernfs_rwsem); in kernfs_active()
42 return __kernfs_active(kn); in kernfs_active()
45 static bool kernfs_lockdep(struct kernfs_node *kn) in kernfs_lockdep() argument
48 return kn->flags & KERNFS_LOCKDEP; in kernfs_lockdep()
54 static int kernfs_name_locked(struct kernfs_node *kn, char *buf, size_t buflen) in kernfs_name_locked() argument
56 if (!kn) in kernfs_name_locked()
138 struct kernfs_node *kn, *common; kernfs_path_from_node_locked() local
194 kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen) kernfs_name() argument
240 pr_cont_kernfs_name(struct kernfs_node *kn) pr_cont_kernfs_name() argument
258 pr_cont_kernfs_path(struct kernfs_node *kn) pr_cont_kernfs_path() argument
292 kernfs_get_parent(struct kernfs_node *kn) kernfs_get_parent() argument
328 kernfs_name_compare(unsigned int hash, const char *name, const void *ns, const struct kernfs_node *kn) kernfs_name_compare() argument
361 kernfs_link_sibling(struct kernfs_node *kn) kernfs_link_sibling() argument
408 kernfs_unlink_sibling(struct kernfs_node *kn) kernfs_unlink_sibling() argument
434 kernfs_get_active(struct kernfs_node *kn) kernfs_get_active() argument
454 kernfs_put_active(struct kernfs_node *kn) kernfs_put_active() argument
523 kernfs_get(struct kernfs_node *kn) kernfs_get() argument
538 kernfs_put(struct kernfs_node *kn) kernfs_put() argument
607 struct kernfs_node *kn; __kernfs_new_node() local
677 struct kernfs_node *kn; kernfs_new_node() local
714 struct kernfs_node *kn; kernfs_find_and_get_node_by_id() local
761 kernfs_add_one(struct kernfs_node *kn) kernfs_add_one() argument
846 struct kernfs_node *kn; kernfs_find_ns() local
906 struct kernfs_node *kn; kernfs_find_and_get_ns() local
932 struct kernfs_node *kn; kernfs_walk_and_get_ns() local
956 struct kernfs_node *kn; kernfs_create_root() local
1048 struct kernfs_node *kn; kernfs_create_dir_ns() local
1080 struct kernfs_node *kn; kernfs_create_empty_dir() local
1105 struct kernfs_node *kn; kernfs_dop_revalidate() local
1185 struct kernfs_node *kn; kernfs_iop_lookup() local
1245 struct kernfs_node *kn = kernfs_dentry_node(dentry); kernfs_iop_rmdir() local
1266 struct kernfs_node *kn = kernfs_dentry_node(old_dentry); kernfs_iop_rename() local
1361 kernfs_activate_one(struct kernfs_node *kn) kernfs_activate_one() argument
1389 kernfs_activate(struct kernfs_node *kn) kernfs_activate() argument
1415 kernfs_show(struct kernfs_node *kn, bool show) kernfs_show() argument
1438 __kernfs_remove(struct kernfs_node *kn) __kernfs_remove() argument
1509 kernfs_remove(struct kernfs_node *kn) kernfs_remove() argument
1537 kernfs_break_active_protection(struct kernfs_node *kn) kernfs_break_active_protection() argument
1561 kernfs_unbreak_active_protection(struct kernfs_node *kn) kernfs_unbreak_active_protection() argument
1605 kernfs_remove_self(struct kernfs_node *kn) kernfs_remove_self() argument
1670 struct kernfs_node *kn; kernfs_remove_by_name_ns() local
1706 kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name, const void *new_ns) kernfs_rename_ns() argument
[all...]
H A Dsymlink.c29 struct kernfs_node *kn; in kernfs_create_link() local
39 kn = kernfs_new_node(parent, name, S_IFLNK|0777, uid, gid, KERNFS_LINK); in kernfs_create_link()
40 if (!kn) in kernfs_create_link()
44 kn->ns = target->ns; in kernfs_create_link()
45 kn->symlink.target_kn = target; in kernfs_create_link()
48 error = kernfs_add_one(kn); in kernfs_create_link()
50 return kn; in kernfs_create_link()
52 kernfs_put(kn); in kernfs_create_link()
59 struct kernfs_node *base, *kn; in kernfs_get_target_path() local
66 kn in kernfs_get_target_path()
113 struct kernfs_node *kn = inode->i_private; kernfs_getlink() local
[all...]
H A Dinode.c27 static struct kernfs_iattrs *__kernfs_iattrs(struct kernfs_node *kn, int alloc) in __kernfs_iattrs() argument
34 if (kn->iattr || !alloc) in __kernfs_iattrs()
37 kn->iattr = kmem_cache_zalloc(kernfs_iattrs_cache, GFP_KERNEL); in __kernfs_iattrs()
38 if (!kn->iattr) in __kernfs_iattrs()
42 kn->iattr->ia_uid = GLOBAL_ROOT_UID; in __kernfs_iattrs()
43 kn->iattr->ia_gid = GLOBAL_ROOT_GID; in __kernfs_iattrs()
45 ktime_get_real_ts64(&kn->iattr->ia_atime); in __kernfs_iattrs()
46 kn->iattr->ia_mtime = kn->iattr->ia_atime; in __kernfs_iattrs()
47 kn in __kernfs_iattrs()
58 kernfs_iattrs(struct kernfs_node *kn) kernfs_iattrs() argument
63 kernfs_iattrs_noalloc(struct kernfs_node *kn) kernfs_iattrs_noalloc() argument
68 __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) __kernfs_setattr() argument
99 kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) kernfs_setattr() argument
114 struct kernfs_node *kn = inode->i_private; kernfs_iop_setattr() local
141 struct kernfs_node *kn = kernfs_dentry_node(dentry); kernfs_iop_listxattr() local
167 kernfs_refresh_inode(struct kernfs_node *kn, struct inode *inode) kernfs_refresh_inode() argument
188 struct kernfs_node *kn = inode->i_private; kernfs_iop_getattr() local
199 kernfs_init_inode(struct kernfs_node *kn, struct inode *inode) kernfs_init_inode() argument
247 kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn) kernfs_get_inode() argument
267 struct kernfs_node *kn = inode->i_private; kernfs_evict_inode() local
277 struct kernfs_node *kn; kernfs_iop_permission() local
295 kernfs_xattr_get(struct kernfs_node *kn, const char *name, void *value, size_t size) kernfs_xattr_get() argument
305 kernfs_xattr_set(struct kernfs_node *kn, const char *name, const void *value, size_t size, int flags) kernfs_xattr_set() argument
326 struct kernfs_node *kn = inode->i_private; kernfs_vfs_xattr_get() local
338 struct kernfs_node *kn = inode->i_private; kernfs_vfs_xattr_set() 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) kernfs_vfs_user_xattr_add() 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) kernfs_vfs_user_xattr_rm() argument
411 struct kernfs_node *kn = inode->i_private; kernfs_vfs_user_xattr_set() local
[all...]
H A Dfile.c43 static inline struct mutex *kernfs_open_file_mutex_ptr(struct kernfs_node *kn) in kernfs_open_file_mutex_ptr() argument
45 int idx = hash_ptr(kn, NR_KERNFS_LOCK_BITS); in kernfs_open_file_mutex_ptr()
50 static inline struct mutex *kernfs_open_file_mutex_lock(struct kernfs_node *kn) in kernfs_open_file_mutex_lock() argument
54 lock = kernfs_open_file_mutex_ptr(kn); in kernfs_open_file_mutex_lock()
69 return rcu_dereference_protected(of->kn->attr.open, in of_on()
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) kernfs_deref_open_node_locked() argument
106 kernfs_ops(struct kernfs_node *kn) kernfs_ops() argument
561 kernfs_get_open_node(struct kernfs_node *kn, struct kernfs_open_file *of) kernfs_get_open_node() argument
605 kernfs_unlink_open_file(struct kernfs_node *kn, struct kernfs_open_file *of, bool open_failed) kernfs_unlink_open_file() argument
641 struct kernfs_node *kn = inode->i_private; kernfs_fop_open() local
768 kernfs_release_file(struct kernfs_node *kn, struct kernfs_open_file *of) kernfs_release_file() argument
794 struct kernfs_node *kn = inode->i_private; kernfs_fop_release() local
813 kernfs_should_drain_open_files(struct kernfs_node *kn) kernfs_should_drain_open_files() argument
832 kernfs_drain_open_files(struct kernfs_node *kn) kernfs_drain_open_files() argument
891 struct kernfs_node *kn = kernfs_dentry_node(filp->f_path.dentry); kernfs_fop_poll() local
908 struct kernfs_node *kn; kernfs_notify_workfn() local
975 kernfs_notify(struct kernfs_node *kn) kernfs_notify() argument
1041 struct kernfs_node *kn; __kernfs_create_file() local
[all...]
H A Dkernfs-internal.h36 struct kernfs_node *kn; member
61 * @kn: kernfs_node of interest
63 * Return: the kernfs_root @kn belongs to.
65 static inline struct kernfs_root *kernfs_root(struct kernfs_node *kn) in kernfs_root() argument
68 if (kn->parent) in kernfs_root()
69 kn = kn->parent; in kernfs_root()
70 return kn->dir.root; in kernfs_root()
140 int __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr);
149 struct kernfs_node *kernfs_get_active(struct kernfs_node *kn);
[all...]
H A Dmount.c69 struct kernfs_node *kn = inode->i_private; in kernfs_encode_fh() local
77 *(u64 *)fh = kn->id; in kernfs_encode_fh()
86 struct kernfs_node *kn; in __kernfs_fh_to_dentry() local
111 kn = kernfs_find_and_get_node_by_id(info->root, id); in __kernfs_fh_to_dentry()
112 if (!kn) in __kernfs_fh_to_dentry()
118 parent = kernfs_get_parent(kn); in __kernfs_fh_to_dentry()
119 kernfs_put(kn); in __kernfs_fh_to_dentry()
120 kn = parent; in __kernfs_fh_to_dentry()
121 if (!kn) in __kernfs_fh_to_dentry()
125 inode = kernfs_get_inode(sb, kn); in __kernfs_fh_to_dentry()
149 struct kernfs_node *kn = kernfs_dentry_node(child); kernfs_get_parent_dentry() local
207 kernfs_node_dentry(struct kernfs_node *kn, struct super_block *sb) kernfs_node_dentry() argument
[all...]
/kernel/linux/linux-5.10/fs/kernfs/
H A Ddir.c21 static DEFINE_SPINLOCK(kernfs_rename_lock); /* kn->parent and ->name */
35 static bool kernfs_active(struct kernfs_node *kn) in kernfs_active() argument
38 return atomic_read(&kn->active) >= 0; in kernfs_active()
41 static bool kernfs_lockdep(struct kernfs_node *kn) in kernfs_lockdep() argument
44 return kn->flags & KERNFS_LOCKDEP; in kernfs_lockdep()
50 static int kernfs_name_locked(struct kernfs_node *kn, char *buf, size_t buflen) in kernfs_name_locked() argument
52 if (!kn) in kernfs_name_locked()
55 return strlcpy(buf, kn->parent ? kn->name : "/", buflen); in kernfs_name_locked()
79 da = kernfs_depth(ra->kn, in kernfs_common_ancestor()
134 struct kernfs_node *kn, *common; kernfs_path_from_node_locked() local
191 kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen) kernfs_name() argument
237 pr_cont_kernfs_name(struct kernfs_node *kn) pr_cont_kernfs_name() argument
255 pr_cont_kernfs_path(struct kernfs_node *kn) pr_cont_kernfs_path() argument
287 kernfs_get_parent(struct kernfs_node *kn) kernfs_get_parent() argument
323 kernfs_name_compare(unsigned int hash, const char *name, const void *ns, const struct kernfs_node *kn) kernfs_name_compare() argument
356 kernfs_link_sibling(struct kernfs_node *kn) kernfs_link_sibling() argument
398 kernfs_unlink_sibling(struct kernfs_node *kn) kernfs_unlink_sibling() argument
421 kernfs_get_active(struct kernfs_node *kn) kernfs_get_active() argument
441 kernfs_put_active(struct kernfs_node *kn) kernfs_put_active() argument
490 kernfs_drain_open_files(kn); global() variable
499 kernfs_get(struct kernfs_node *kn) kernfs_get() argument
514 kernfs_put(struct kernfs_node *kn) kernfs_put() argument
561 struct kernfs_node *kn; kernfs_dop_revalidate() local
627 struct kernfs_node *kn; __kernfs_new_node() local
697 struct kernfs_node *kn; kernfs_new_node() local
734 struct kernfs_node *kn; kernfs_find_and_get_node_by_id() local
782 kernfs_add_one(struct kernfs_node *kn) kernfs_add_one() argument
865 struct kernfs_node *kn; kernfs_find_ns() local
924 struct kernfs_node *kn; kernfs_find_and_get_ns() local
948 struct kernfs_node *kn; kernfs_walk_and_get_ns() local
971 struct kernfs_node *kn; kernfs_create_root() local
1043 struct kernfs_node *kn; kernfs_create_dir_ns() local
1075 struct kernfs_node *kn; kernfs_create_empty_dir() local
1104 struct kernfs_node *kn; kernfs_iop_lookup() local
1156 struct kernfs_node *kn = kernfs_dentry_node(dentry); kernfs_iop_rmdir() local
1176 struct kernfs_node *kn = kernfs_dentry_node(old_dentry); kernfs_iop_rename() local
1282 kernfs_activate(struct kernfs_node *kn) kernfs_activate() argument
1303 __kernfs_remove(struct kernfs_node *kn) __kernfs_remove() argument
1375 kernfs_remove(struct kernfs_node *kn) kernfs_remove() argument
1396 kernfs_break_active_protection(struct kernfs_node *kn) kernfs_break_active_protection() argument
1420 kernfs_unbreak_active_protection(struct kernfs_node *kn) kernfs_unbreak_active_protection() argument
1462 kernfs_remove_self(struct kernfs_node *kn) kernfs_remove_self() argument
1525 struct kernfs_node *kn; kernfs_remove_by_name_ns() local
1557 kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name, const void *new_ns) kernfs_rename_ns() argument
1627 dt_type(struct kernfs_node *kn) dt_type() argument
[all...]
H A 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 in kernfs_get_target_path()
114 struct kernfs_node *kn = inode->i_private; kernfs_getlink() local
[all...]
H A 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 in __kernfs_iattrs()
64 kernfs_iattrs(struct kernfs_node *kn) kernfs_iattrs() argument
69 kernfs_iattrs_noalloc(struct kernfs_node *kn) kernfs_iattrs_noalloc() argument
74 __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) __kernfs_setattr() argument
105 kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) kernfs_setattr() argument
118 struct kernfs_node *kn = inode->i_private; kernfs_iop_setattr() local
143 struct kernfs_node *kn = kernfs_dentry_node(dentry); kernfs_iop_listxattr() local
170 kernfs_refresh_inode(struct kernfs_node *kn, struct inode *inode) kernfs_refresh_inode() argument
190 struct kernfs_node *kn = inode->i_private; kernfs_iop_getattr() local
200 kernfs_init_inode(struct kernfs_node *kn, struct inode *inode) kernfs_init_inode() argument
248 kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn) kernfs_get_inode() argument
268 struct kernfs_node *kn = inode->i_private; kernfs_evict_inode() local
277 struct kernfs_node *kn; kernfs_iop_permission() local
291 kernfs_xattr_get(struct kernfs_node *kn, const char *name, void *value, size_t size) kernfs_xattr_get() argument
301 kernfs_xattr_set(struct kernfs_node *kn, const char *name, const void *value, size_t size, int flags) kernfs_xattr_set() argument
316 struct kernfs_node *kn = inode->i_private; kernfs_vfs_xattr_get() local
327 struct kernfs_node *kn = inode->i_private; kernfs_vfs_xattr_set() local
332 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) kernfs_vfs_user_xattr_add() argument
366 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) kernfs_vfs_user_xattr_rm() argument
393 struct kernfs_node *kn = inode->i_private; kernfs_vfs_user_xattr_set() local
[all...]
H A Dfile.c64 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 in kernfs_seq_show()
523 kernfs_get_open_node(struct kernfs_node *kn, struct kernfs_open_file *of) kernfs_get_open_node() argument
574 kernfs_put_open_node(struct kernfs_node *kn, struct kernfs_open_file *of) kernfs_put_open_node() argument
599 struct kernfs_node *kn = inode->i_private; kernfs_fop_open() local
726 kernfs_release_file(struct kernfs_node *kn, struct kernfs_open_file *of) kernfs_release_file() argument
751 struct kernfs_node *kn = inode->i_private; kernfs_fop_release() local
768 kernfs_drain_open_files(struct kernfs_node *kn) kernfs_drain_open_files() argument
817 struct kernfs_node *kn = kernfs_dentry_node(of->file->f_path.dentry); kernfs_generic_poll() local
831 struct kernfs_node *kn = kernfs_dentry_node(filp->f_path.dentry); kernfs_fop_poll() local
848 struct kernfs_node *kn; kernfs_notify_workfn() local
913 kernfs_notify(struct kernfs_node *kn) kernfs_notify() argument
979 struct kernfs_node *kn; __kernfs_create_file() local
[all...]
H A Dkernfs-internal.h40 * @kn: kernfs_node of interest
42 * Return the kernfs_root @kn belongs to.
44 static inline struct kernfs_root *kernfs_root(struct kernfs_node *kn) in kernfs_root() argument
47 if (kn->parent) in kernfs_root()
48 kn = kn->parent; in kernfs_root()
49 return kn->dir.root; in kernfs_root()
97 int __kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr);
107 struct kernfs_node *kernfs_get_active(struct kernfs_node *kn);
108 void kernfs_put_active(struct kernfs_node *kn);
[all...]
H A Dmount.c59 struct kernfs_node *kn = inode->i_private; in kernfs_encode_fh() local
67 *(u64 *)fh = kn->id; in kernfs_encode_fh()
76 struct kernfs_node *kn; in __kernfs_fh_to_dentry() local
101 kn = kernfs_find_and_get_node_by_id(info->root, id); in __kernfs_fh_to_dentry()
102 if (!kn) in __kernfs_fh_to_dentry()
108 parent = kernfs_get_parent(kn); in __kernfs_fh_to_dentry()
109 kernfs_put(kn); in __kernfs_fh_to_dentry()
110 kn = parent; in __kernfs_fh_to_dentry()
111 if (!kn) in __kernfs_fh_to_dentry()
115 inode = kernfs_get_inode(sb, kn); in __kernfs_fh_to_dentry()
139 struct kernfs_node *kn = kernfs_dentry_node(child); kernfs_get_parent_dentry() local
195 kernfs_node_dentry(struct kernfs_node *kn, struct super_block *sb) kernfs_node_dentry() argument
[all...]
/kernel/linux/linux-5.10/include/linux/
H A Dkernfs.h93 /* children rbtree starts here and goes through kn->rb */
173 int (*rmdir)(struct kernfs_node *kn);
174 int (*rename)(struct kernfs_node *kn, struct kernfs_node *new_parent,
176 int (*show_path)(struct seq_file *sf, struct kernfs_node *kn,
182 struct kernfs_node *kn; member
199 struct kernfs_node *kn; member
287 static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn) in kernfs_type() argument
289 return kn->flags & KERNFS_TYPE_MASK; in kernfs_type()
310 static inline ino_t kernfs_ino(struct kernfs_node *kn) in kernfs_ino() argument
312 return kernfs_id_ino(kn in kernfs_ino()
315 kernfs_gen(struct kernfs_node *kn) kernfs_gen() argument
328 kernfs_enable_ns(struct kernfs_node *kn) kernfs_enable_ns() argument
341 kernfs_ns_enabled(struct kernfs_node *kn) kernfs_ns_enabled() argument
415 kernfs_type(struct kernfs_node *kn) kernfs_type() argument
418 kernfs_enable_ns(struct kernfs_node *kn) kernfs_enable_ns() argument
420 kernfs_ns_enabled(struct kernfs_node *kn) kernfs_ns_enabled() argument
423 kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen) kernfs_name() argument
426 kernfs_path_from_node(struct kernfs_node *root_kn, struct kernfs_node *kn, char *buf, size_t buflen) kernfs_path_from_node() argument
431 pr_cont_kernfs_name(struct kernfs_node *kn) pr_cont_kernfs_name() argument
432 pr_cont_kernfs_path(struct kernfs_node *kn) pr_cont_kernfs_path() argument
434 kernfs_get_parent(struct kernfs_node *kn) kernfs_get_parent() argument
446 kernfs_get(struct kernfs_node *kn) kernfs_get() argument
447 kernfs_put(struct kernfs_node *kn) kernfs_put() argument
456 kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn) kernfs_get_inode() argument
484 kernfs_activate(struct kernfs_node *kn) kernfs_activate() argument
486 kernfs_remove(struct kernfs_node *kn) kernfs_remove() argument
488 kernfs_remove_self(struct kernfs_node *kn) kernfs_remove_self() argument
491 kernfs_remove_by_name_ns(struct kernfs_node *kn, const char *name, const void *ns) kernfs_remove_by_name_ns() argument
495 kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name, const void *new_ns) kernfs_rename_ns() argument
500 kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) kernfs_setattr() argument
504 kernfs_notify(struct kernfs_node *kn) kernfs_notify() argument
506 kernfs_xattr_get(struct kernfs_node *kn, const char *name, void *value, size_t size) kernfs_xattr_get() argument
510 kernfs_xattr_set(struct kernfs_node *kn, const char *name, const void *value, size_t size, int flags) kernfs_xattr_set() argument
540 kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen) kernfs_path() argument
546 kernfs_find_and_get(struct kernfs_node *kn, const char *name) kernfs_find_and_get() argument
552 kernfs_walk_and_get(struct kernfs_node *kn, const char *path) kernfs_walk_and_get() argument
596 kernfs_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name) kernfs_rename() argument
[all...]
/kernel/linux/linux-6.6/include/linux/
H A Dkernfs.h155 /* children rbtree starts here and goes through kn->rb */
240 int (*rmdir)(struct kernfs_node *kn);
241 int (*rename)(struct kernfs_node *kn, struct kernfs_node *new_parent,
243 int (*show_path)(struct seq_file *sf, struct kernfs_node *kn,
251 struct kernfs_node *kn; member
335 static inline enum kernfs_node_type kernfs_type(struct kernfs_node *kn) in kernfs_type() argument
337 return kn->flags & KERNFS_TYPE_MASK; in kernfs_type()
358 static inline ino_t kernfs_ino(struct kernfs_node *kn) in kernfs_ino() argument
360 return kernfs_id_ino(kn->id); in kernfs_ino()
363 static inline ino_t kernfs_gen(struct kernfs_node *kn) in kernfs_gen() argument
376 kernfs_enable_ns(struct kernfs_node *kn) kernfs_enable_ns() argument
389 kernfs_ns_enabled(struct kernfs_node *kn) kernfs_ns_enabled() argument
464 kernfs_type(struct kernfs_node *kn) kernfs_type() argument
467 kernfs_enable_ns(struct kernfs_node *kn) kernfs_enable_ns() argument
469 kernfs_ns_enabled(struct kernfs_node *kn) kernfs_ns_enabled() argument
472 kernfs_name(struct kernfs_node *kn, char *buf, size_t buflen) kernfs_name() argument
475 kernfs_path_from_node(struct kernfs_node *root_kn, struct kernfs_node *kn, char *buf, size_t buflen) kernfs_path_from_node() argument
480 pr_cont_kernfs_name(struct kernfs_node *kn) pr_cont_kernfs_name() argument
481 pr_cont_kernfs_path(struct kernfs_node *kn) pr_cont_kernfs_path() argument
483 kernfs_get_parent(struct kernfs_node *kn) kernfs_get_parent() argument
495 kernfs_get(struct kernfs_node *kn) kernfs_get() argument
496 kernfs_put(struct kernfs_node *kn) kernfs_put() argument
505 kernfs_get_inode(struct super_block *sb, struct kernfs_node *kn) kernfs_get_inode() argument
533 kernfs_activate(struct kernfs_node *kn) kernfs_activate() argument
535 kernfs_remove(struct kernfs_node *kn) kernfs_remove() argument
537 kernfs_remove_self(struct kernfs_node *kn) kernfs_remove_self() argument
540 kernfs_remove_by_name_ns(struct kernfs_node *kn, const char *name, const void *ns) kernfs_remove_by_name_ns() argument
544 kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name, const void *new_ns) kernfs_rename_ns() argument
549 kernfs_setattr(struct kernfs_node *kn, const struct iattr *iattr) kernfs_setattr() argument
557 kernfs_notify(struct kernfs_node *kn) kernfs_notify() argument
559 kernfs_xattr_get(struct kernfs_node *kn, const char *name, void *value, size_t size) kernfs_xattr_get() argument
563 kernfs_xattr_set(struct kernfs_node *kn, const char *name, const void *value, size_t size, int flags) kernfs_xattr_set() argument
593 kernfs_path(struct kernfs_node *kn, char *buf, size_t buflen) kernfs_path() argument
599 kernfs_find_and_get(struct kernfs_node *kn, const char *name) kernfs_find_and_get() argument
605 kernfs_walk_and_get(struct kernfs_node *kn, const char *path) kernfs_walk_and_get() argument
625 kernfs_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name) kernfs_rename() argument
[all...]
/kernel/linux/linux-6.6/fs/sysfs/
H A Dfile.c26 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()
59 count = ops->show(kobj, of->kn->priv, buf); in sysfs_kf_seq_show()
80 struct bin_attribute *battr = of->kn->priv; in sysfs_kf_bin_read()
81 struct kobject *kobj = of->kn->parent->priv; in sysfs_kf_bin_read()
104 const struct sysfs_ops *ops = sysfs_file_ops(of->kn); in sysfs_kf_read()
182 struct kernfs_node *kn = kobj->sd, *tmp; sysfs_notify() local
262 struct kernfs_node *kn; sysfs_add_file_mode_ns() local
311 struct kernfs_node *kn; sysfs_add_bin_file_mode_ns() local
416 struct kernfs_node *kn; sysfs_chmod_file() local
447 struct kernfs_node *kn; sysfs_break_active_protection() local
468 sysfs_unbreak_active_protection(struct kernfs_node *kn) sysfs_unbreak_active_protection() argument
505 struct kernfs_node *kn; sysfs_remove_file_self() local
585 internal_change_owner(struct kernfs_node *kn, kuid_t kuid, kgid_t kgid) internal_change_owner() argument
613 struct kernfs_node *kn = NULL; sysfs_link_change_owner() local
652 struct kernfs_node *kn; sysfs_file_change_owner() local
[all...]
H A Ddir.c42 struct kernfs_node *parent, *kn; in sysfs_create_dir_ns() local
59 kn = kernfs_create_dir_ns(parent, kobject_name(kobj), 0755, uid, gid, 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()
120 struct kernfs_node *kn = kobj->sd; sysfs_move_dir_ns() local
136 struct kernfs_node *kn, *parent = parent_kobj->sd; sysfs_create_mount_point() local
[all...]
H A 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()
57 * @kn: directory we're creating the link in.
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 in sysfs_rename_link_ns()
[all...]
H A Dgroup.c110 struct kernfs_node *kn; in internal_create_group() local
131 kn = kernfs_find_and_get(kobj->sd, grp->name); in internal_create_group()
132 if (!kn) { in internal_create_group()
138 kn = kernfs_create_dir_ns(kobj->sd, grp->name, in internal_create_group()
141 if (IS_ERR(kn)) { in internal_create_group()
142 if (PTR_ERR(kn) == -EEXIST) in internal_create_group()
144 return PTR_ERR(kn); in internal_create_group()
148 kn = kobj->sd; in internal_create_group()
151 kernfs_get(kn); in internal_create_group()
152 error = create_files(kn, kob in internal_create_group()
277 struct kernfs_node *kn; sysfs_remove_group() local
475 struct kernfs_node *kn; sysfs_group_attrs_change_owner() local
[all...]
/kernel/linux/linux-5.10/fs/sysfs/
H A Dfile.c26 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()
175 struct kernfs_node *kn = kobj->sd, *tmp; sysfs_notify() local
252 struct kernfs_node *kn; sysfs_add_file_mode_ns() local
395 struct kernfs_node *kn; sysfs_chmod_file() local
426 struct kernfs_node *kn; sysfs_break_active_protection() local
449 sysfs_unbreak_active_protection(struct kernfs_node *kn) sysfs_unbreak_active_protection() argument
486 struct kernfs_node *kn; sysfs_remove_file_self() local
566 internal_change_owner(struct kernfs_node *kn, kuid_t kuid, kgid_t kgid) internal_change_owner() argument
594 struct kernfs_node *kn = NULL; sysfs_link_change_owner() local
633 struct kernfs_node *kn; sysfs_file_change_owner() local
[all...]
H A 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()
121 struct kernfs_node *kn = kobj->sd; sysfs_move_dir_ns() local
137 struct kernfs_node *kn, *parent = parent_kobj->sd; sysfs_create_mount_point() local
[all...]
H A 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()
57 * @kn: directory we're creating the link in.
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 in sysfs_rename_link_ns()
[all...]
H A Dgroup.c111 struct kernfs_node *kn; in internal_create_group() local
130 kn = kernfs_find_and_get(kobj->sd, grp->name); in internal_create_group()
131 if (!kn) { in internal_create_group()
137 kn = kernfs_create_dir_ns(kobj->sd, grp->name, in internal_create_group()
140 if (IS_ERR(kn)) { in internal_create_group()
141 if (PTR_ERR(kn) == -EEXIST) in internal_create_group()
143 return PTR_ERR(kn); in internal_create_group()
147 kn = kobj->sd; in internal_create_group()
148 kernfs_get(kn); in internal_create_group()
149 error = create_files(kn, kob in internal_create_group()
274 struct kernfs_node *kn; sysfs_remove_group() local
472 struct kernfs_node *kn; sysfs_group_attrs_change_owner() local
[all...]
/kernel/linux/linux-6.6/arch/x86/kernel/cpu/resctrl/
H A Drdtgroup.c205 static int rdtgroup_kn_set_ugid(struct kernfs_node *kn) in rdtgroup_kn_set_ugid() argument
215 return kernfs_setattr(kn, &iattr); in rdtgroup_kn_set_ugid()
220 struct kernfs_node *kn; in rdtgroup_add_file() local
223 kn = __kernfs_create_file(parent_kn, rft->name, rft->mode, in rdtgroup_add_file()
226 if (IS_ERR(kn)) in rdtgroup_add_file()
227 return PTR_ERR(kn); in rdtgroup_add_file()
229 ret = rdtgroup_kn_set_ugid(kn); in rdtgroup_add_file()
231 kernfs_remove(kn); in rdtgroup_add_file()
241 struct rftype *rft = of->kn->priv; in rdtgroup_seqfile_show()
251 struct rftype *rft = of->kn in rdtgroup_file_write()
1847 rdtgroup_add_files(struct kernfs_node *kn, unsigned long fflags) rdtgroup_add_files() argument
1931 struct kernfs_node *kn; rdtgroup_kn_mode_restrict() local
1970 struct kernfs_node *kn, *parent; rdtgroup_kn_mode_restore() local
2081 struct kernfs_node *kn; mongroup_create_dir() local
2292 kernfs_to_rdtgroup(struct kernfs_node *kn) kernfs_to_rdtgroup() argument
2310 rdtgroup_kn_get(struct rdtgroup *rdtgrp, struct kernfs_node *kn) rdtgroup_kn_get() argument
2316 rdtgroup_kn_put(struct rdtgroup *rdtgrp, struct kernfs_node *kn) rdtgroup_kn_put() argument
2330 rdtgroup_kn_lock_live(struct kernfs_node *kn) rdtgroup_kn_lock_live() argument
2348 rdtgroup_kn_unlock(struct kernfs_node *kn) rdtgroup_kn_unlock() argument
2812 struct kernfs_node *kn; mon_addfile() local
2854 struct kernfs_node *kn; mkdir_mondata_subdir() local
2955 struct kernfs_node *kn; mkdir_mondata_all() local
3175 struct kernfs_node *kn; mkdir_rdt_prepare() local
3311 struct kernfs_node *kn; rdtgroup_mkdir_ctrl_mon() local
3370 is_mon_groups(struct kernfs_node *kn, const char *name) is_mon_groups() argument
3479 rdtgroup_rmdir(struct kernfs_node *kn) rdtgroup_rmdir() argument
3559 rdtgroup_rename(struct kernfs_node *kn, struct kernfs_node *new_parent, const char *new_name) rdtgroup_rename() argument
[all...]
/kernel/linux/linux-5.10/arch/x86/kernel/cpu/resctrl/
H A 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 in rdtgroup_file_write()
1614 rdtgroup_add_files(struct kernfs_node *kn, unsigned long fflags) rdtgroup_add_files() argument
1689 struct kernfs_node *kn; rdtgroup_kn_mode_restrict() local
1728 struct kernfs_node *kn, *parent; rdtgroup_kn_mode_restore() local
1836 struct kernfs_node *kn; mongroup_create_dir() local
2026 kernfs_to_rdtgroup(struct kernfs_node *kn) kernfs_to_rdtgroup() argument
2044 rdtgroup_kn_lock_live(struct kernfs_node *kn) rdtgroup_kn_lock_live() argument
2063 rdtgroup_kn_unlock(struct kernfs_node *kn) rdtgroup_kn_unlock() argument
2443 struct kernfs_node *kn; mon_addfile() local
2487 struct kernfs_node *kn; mkdir_mondata_subdir() local
2591 struct kernfs_node *kn; mkdir_mondata_all() local
2791 struct kernfs_node *kn; mkdir_rdt_prepare() local
2927 struct kernfs_node *kn; rdtgroup_mkdir_ctrl_mon() local
2986 is_mon_groups(struct kernfs_node *kn, const char *name) is_mon_groups() argument
3017 rdtgroup_rmdir_mon(struct kernfs_node *kn, struct rdtgroup *rdtgrp, cpumask_var_t tmpmask) rdtgroup_rmdir_mon() argument
3050 rdtgroup_ctrl_remove(struct kernfs_node *kn, struct rdtgroup *rdtgrp) rdtgroup_ctrl_remove() argument
3060 rdtgroup_rmdir_ctrl(struct kernfs_node *kn, struct rdtgroup *rdtgrp, cpumask_var_t tmpmask) rdtgroup_rmdir_ctrl() argument
3098 rdtgroup_rmdir(struct kernfs_node *kn) rdtgroup_rmdir() argument
[all...]
/kernel/linux/linux-6.6/kernel/cgroup/
H A Dcgroup.c109 * Protects cgroup_file->kn for !self csses. It synchronizes notifications
636 struct cgroup *cgrp = of->kn->parent->priv; in of_css()
1583 * @kn: the kernfs_node being serviced
1591 void cgroup_kn_unlock(struct kernfs_node *kn) in cgroup_kn_unlock() argument
1595 if (kernfs_type(kn) == KERNFS_DIR) in cgroup_kn_unlock()
1596 cgrp = kn->priv; in cgroup_kn_unlock()
1598 cgrp = kn->parent->priv; in cgroup_kn_unlock()
1602 kernfs_unbreak_active_protection(kn); in cgroup_kn_unlock()
1608 * @kn: the kernfs_node being serviced
1612 * @kn
1623 cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline) cgroup_kn_lock_live() argument
4155 cgroup_kn_set_ugid(struct kernfs_node *kn) cgroup_kn_set_ugid() argument
4178 struct kernfs_node *kn; cgroup_add_file() local
4485 struct kernfs_node *kn; cgroup_file_show() local
5577 struct kernfs_node *kn; cgroup_create() local
5940 cgroup_rmdir(struct kernfs_node *kn) cgroup_rmdir() argument
6176 struct kernfs_node *kn; cgroup_path_from_kernfs_id() local
6193 struct kernfs_node *kn; cgroup_get_from_id() local
6767 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); css_tryget_online_from_dir() local
6820 struct kernfs_node *kn; cgroup_get_from_path() local
[all...]

Completed in 22 milliseconds

1234