| /linux-6.15/fs/ |
| H A D | pnode.c | 100 for (m = master = next_peer(mnt); m != mnt; m = next_peer(m)) { in do_make_slave() 101 if (m->mnt.mnt_root == mnt->mnt.mnt_root) { in do_make_slave() 133 mnt->mnt.mnt_flags |= MNT_UNBINDABLE; in change_mnt_propagation() 135 mnt->mnt.mnt_flags &= ~MNT_UNBINDABLE; in change_mnt_propagation() 347 if (child->mnt_mountpoint != mnt->mnt.mnt_root) in find_topper() 427 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_busy() 460 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_unlock() 469 mnt->mnt.mnt_flags |= MNT_UMOUNT; in umount_one() 490 if (mnt->mnt.mnt_flags & (MNT_UMOUNT | MNT_MARKED)) in __propagate_umount() 497 if (child->mnt_mountpoint == mnt->mnt.mnt_root) in __propagate_umount() [all …]
|
| H A D | namespace.c | 1046 mnt->mnt_mountpoint = mnt->mnt.mnt_root; in unhash_mnt() 1277 mnt->mnt_mountpoint = mnt->mnt.mnt_root; in vfs_create_mount() 1283 return &mnt->mnt; in vfs_create_mount() 1365 mnt->mnt.mnt_flags = old->mnt.mnt_flags; in clone_mnt() 1373 mnt->mnt_mountpoint = mnt->mnt.mnt_root; in clone_mnt() 1981 if (&mnt->mnt == current->fs->root.mnt || in do_umount() 2860 path->mnt = mnt; in do_lock_mount() 3145 path->mnt = &mnt->mnt; in open_detached_copy() 4696 while (&mnt->mnt != root->mnt && mnt_has_parent(mnt)) { in is_path_reachable() 6193 root.mnt = mnt; in init_mount_tree() [all …]
|
| H A D | pnode.h | 13 #define IS_MNT_SHARED(m) ((m)->mnt.mnt_flags & MNT_SHARED) 16 #define CLEAR_MNT_SHARED(m) ((m)->mnt.mnt_flags &= ~MNT_SHARED) 18 #define IS_MNT_MARKED(m) ((m)->mnt.mnt_flags & MNT_MARKED) 19 #define SET_MNT_MARK(m) ((m)->mnt.mnt_flags |= MNT_MARKED) 20 #define CLEAR_MNT_MARK(m) ((m)->mnt.mnt_flags &= ~MNT_MARKED) 21 #define IS_MNT_LOCKED(m) ((m)->mnt.mnt_flags & MNT_LOCKED) 33 static inline void set_mnt_shared(struct mount *mnt) in set_mnt_shared() argument 35 mnt->mnt.mnt_flags &= ~MNT_SHARED_MASK; in set_mnt_shared() 36 mnt->mnt.mnt_flags |= MNT_SHARED; in set_mnt_shared() 47 int mnt_get_count(struct mount *mnt); [all …]
|
| H A D | mount.h | 59 struct vfsmount mnt; member 106 return container_of(mnt, struct mount, mnt); in real_mount() 111 return mnt != mnt->mnt_parent; in mnt_has_parent() 170 return !RB_EMPTY_NODE(&mnt->mnt_node); in mnt_ns_attached() 180 struct mnt_namespace *ns = mnt->mnt_ns; in move_from_ns() 181 WARN_ON(!mnt_ns_attached(mnt)); in move_from_ns() 182 if (ns->mnt_last_node == &mnt->mnt_node) in move_from_ns() 184 if (ns->mnt_first_node == &mnt->mnt_node) in move_from_ns() 186 rb_erase(&mnt->mnt_node, &ns->mounts); in move_from_ns() 187 RB_CLEAR_NODE(&mnt->mnt_node); in move_from_ns() [all …]
|
| H A D | proc_namespace.c | 79 if (mnt->mnt_flags & fs_infop->flag) in show_vfsmnt_opts() 83 if (is_idmapped_mnt(mnt)) in show_vfsmnt_opts() 104 struct mount *r = real_mount(mnt); in show_vfsmnt() 105 struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; in show_vfsmnt() 127 show_vfsmnt_opts(m, mnt); in show_vfsmnt() 138 struct mount *r = real_mount(mnt); in show_mountinfo() 140 struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; in show_mountinfo() 145 err = show_path(m, mnt->mnt_root); in show_mountinfo() 156 show_vfsmnt_opts(m, mnt); in show_mountinfo() 196 struct mount *r = real_mount(mnt); in show_vfsstat() [all …]
|
| H A D | d_path.c | 104 static int __prepend_path(const struct dentry *dentry, const struct mount *mnt, in __prepend_path() argument 107 while (dentry != root->dentry || &mnt->mnt != root->mnt) { in __prepend_path() 110 if (dentry == mnt->mnt.mnt_root) { in __prepend_path() 111 struct mount *m = READ_ONCE(mnt->mnt_parent); in __prepend_path() 114 if (likely(mnt != m)) { in __prepend_path() 115 dentry = READ_ONCE(mnt->mnt_mountpoint); in __prepend_path() 116 mnt = m; in __prepend_path() 120 mnt_ns = READ_ONCE(mnt->mnt_ns); in __prepend_path() 172 error = __prepend_path(path->dentry, real_mount(path->mnt), root, &b); in prepend_path() 282 (!IS_ROOT(path->dentry) || path->dentry != path->mnt->mnt_root)) in d_path()
|
| H A D | fhandle.c | 97 if (put_user(real_mount(path->mnt)->mnt_id_unique, in do_sys_name_to_handle() 101 if (put_user(real_mount(path->mnt)->mnt_id, in do_sys_name_to_handle() 195 struct mnt_idmap *idmap = mnt_idmap(ctx->root.mnt); in vfs_dentry_acceptable() 252 struct vfsmount *mnt = ctx->root.mnt; in do_handle_to_path() local 267 path->mnt = mntget(mnt); in do_handle_to_path() 303 if (ns_capable(root->mnt->mnt_sb->s_user_ns, CAP_SYS_ADMIN)) in may_decode_fh() 305 else if (is_mounted(root->mnt) && in may_decode_fh() 306 ns_capable(real_mount(root->mnt)->mnt_ns->user_ns, in may_decode_fh() 308 !has_locked_children(real_mount(root->mnt), root->dentry)) in may_decode_fh() 334 eops = ctx.root.mnt->mnt_sb->s_export_op; in handle_to_path() [all …]
|
| H A D | namei.c | 1032 if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt) in nd_jump_root() 1072 if (nd->path.mnt != path->mnt) in nd_jump_link() 1377 path->mnt = &parent->mnt; in follow_up() 1390 root->mnt == &m->mnt)) in choose_mountpoint_rcu() 1393 path->mnt = &m->mnt; in choose_mountpoint_rcu() 1559 if (path->mnt != mnt) in follow_down() 1595 path->mnt = &mounted->mnt; in __follow_mount_rcu() 1619 path->mnt = nd->path.mnt; in handle_mounts() 1626 path->mnt = nd->path.mnt; in handle_mounts() 1641 if (path->mnt != nd->path.mnt) in handle_mounts() [all …]
|
| H A D | file_table.c | 358 struct vfsmount *mnt, struct path *path) in alloc_path_pseudo() argument 360 path->dentry = d_alloc_pseudo(mnt->mnt_sb, &QSTR(name)); in alloc_path_pseudo() 363 path->mnt = mntget(mnt); in alloc_path_pseudo() 368 struct file *alloc_file_pseudo(struct inode *inode, struct vfsmount *mnt, in alloc_file_pseudo() argument 376 ret = alloc_path_pseudo(name, inode, mnt, &path); in alloc_file_pseudo() 396 struct vfsmount *mnt, const char *name, in alloc_file_pseudo_noaccount() argument 404 ret = alloc_path_pseudo(name, inode, mnt, &path); in alloc_file_pseudo_noaccount() 442 struct vfsmount *mnt = file->f_path.mnt; in __fput() local 475 dissolve_on_fput(mnt); in __fput() 476 mntput(mnt); in __fput()
|
| /linux-6.15/kernel/ |
| H A D | usermode_driver.c | 15 struct vfsmount *mnt; in blob_to_mnt() local 24 mnt = kern_mount(type); in blob_to_mnt() 26 if (IS_ERR(mnt)) in blob_to_mnt() 27 return mnt; in blob_to_mnt() 31 kern_unmount(mnt); in blob_to_mnt() 41 kern_unmount(mnt); in blob_to_mnt() 50 return mnt; in blob_to_mnt() 62 struct vfsmount *mnt; in umd_load_blob() local 68 if (IS_ERR(mnt)) in umd_load_blob() 71 info->wd.mnt = mnt; in umd_load_blob() [all …]
|
| /linux-6.15/include/linux/ |
| H A D | mount.h | 78 return READ_ONCE(mnt->mnt_idmap); in mnt_idmap() 81 extern int mnt_want_write(struct vfsmount *mnt); 83 extern void mnt_drop_write(struct vfsmount *mnt); 85 extern void mntput(struct vfsmount *mnt); 86 extern struct vfsmount *mntget(struct vfsmount *mnt); 89 extern bool __mnt_is_readonly(struct vfsmount *mnt); 90 extern bool mnt_may_suid(struct vfsmount *mnt); 93 int mnt_get_write_access(struct vfsmount *mnt); 94 void mnt_put_write_access(struct vfsmount *mnt); 110 extern bool our_mnt(struct vfsmount *mnt); [all …]
|
| H A D | path.h | 9 struct vfsmount *mnt; member 18 return path1->mnt == path2->mnt && path1->dentry == path2->dentry; in path_equal()
|
| /linux-6.15/tools/lib/api/fs/ |
| H A D | tracing_path.c | 26 const char *mnt; in tracing_path_tracefs_mount() local 28 mnt = tracefs__mount(); in tracing_path_tracefs_mount() 29 if (!mnt) in tracing_path_tracefs_mount() 32 __tracing_path_set("", mnt); in tracing_path_tracefs_mount() 39 const char *mnt; in tracing_path_debugfs_mount() local 41 mnt = debugfs__mount(); in tracing_path_debugfs_mount() 42 if (!mnt) in tracing_path_debugfs_mount() 52 const char *mnt; in tracing_path_mount() local 55 if (mnt) in tracing_path_mount() 56 return mnt; in tracing_path_mount() [all …]
|
| /linux-6.15/tools/testing/selftests/memfd/ |
| H A D | run_fuse_test.sh | 5 fusermount -u ./mnt 6 rmdir ./mnt 11 mkdir mnt 12 ./fuse_mnt ./mnt 13 ./fuse_test ./mnt/memfd $@ 14 fusermount -u ./mnt 15 rmdir ./mnt
|
| /linux-6.15/tools/bpf/bpftool/ |
| H A D | tracelog.c | 27 static int validate_tracefs_mnt(const char *mnt, unsigned long magic) in validate_tracefs_mnt() argument 31 if (statfs(mnt, &st_fs) < 0) in validate_tracefs_mnt() 40 find_tracefs_mnt_single(unsigned long magic, char *mnt, const char *mntpt) in find_tracefs_mnt_single() argument 53 strcpy(mnt, mntpt); in find_tracefs_mnt_single() 57 static bool get_tracefs_pipe(char *mnt) in get_tracefs_pipe() argument 73 if (find_tracefs_mnt_single(TRACEFS_MAGIC, mnt, *ptr)) in get_tracefs_pipe() 83 while (fscanf(fp, format, mnt, type) == 2) in get_tracefs_pipe() 91 if (found && validate_tracefs_mnt(mnt, TRACEFS_MAGIC)) in get_tracefs_pipe() 103 strcpy(mnt, known_mnts[1]); in get_tracefs_pipe() 104 if (mount_tracefs(mnt)) in get_tracefs_pipe() [all …]
|
| /linux-6.15/fs/autofs/ |
| H A D | expire.c | 33 struct path path = {.mnt = mnt, .dentry = dentry}; in autofs_mount_busy() 58 if (!may_umount_tree(path.mnt)) { in autofs_mount_busy() 159 if (!may_umount_tree(mnt)) { in autofs_direct_busy() 204 if (autofs_mount_busy(mnt, p, how)) { in autofs_tree_busy() 253 if (autofs_mount_busy(mnt, p, how)) in autofs_check_leaves() 272 struct vfsmount *mnt, in autofs_expire_direct() argument 319 struct vfsmount *mnt, in should_expire() argument 340 if (autofs_mount_busy(mnt, dentry, how)) in should_expire() 418 struct vfsmount *mnt, in autofs_expire_indirect() argument 537 struct vfsmount *mnt, in autofs_expire_run() argument [all …]
|
| /linux-6.15/security/tomoyo/ |
| H A D | tomoyo.c | 160 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_unlink() 177 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_mkdir() 193 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_rmdir() 210 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_symlink() 228 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_mknod() 267 struct path path1 = { .mnt = new_dir->mnt, .dentry = old_dentry }; in tomoyo_path_link() 268 struct path path2 = { .mnt = new_dir->mnt, .dentry = new_dentry }; in tomoyo_path_link() 290 struct path path1 = { .mnt = old_parent->mnt, .dentry = old_dentry }; in tomoyo_path_rename() 291 struct path path2 = { .mnt = new_parent->mnt, .dentry = new_dentry }; in tomoyo_path_rename() 426 static int tomoyo_sb_umount(struct vfsmount *mnt, int flags) in tomoyo_sb_umount() argument [all …]
|
| /linux-6.15/fs/exportfs/ |
| H A D | expfs.c | 31 struct path path = {.mnt = mnt, .dentry = dir}; in exportfs_get_name() 129 if (mnt->mnt_sb->s_export_op->get_parent) in reconnect_one() 130 parent = mnt->mnt_sb->s_export_op->get_parent(dentry); in reconnect_one() 140 err = exportfs_get_name(mnt, parent, nbuf, dentry); in reconnect_one() 217 BUG_ON(dentry == mnt->mnt_sb->s_root); in reconnect_path() 220 parent = reconnect_one(mnt, dentry, nbuf); in reconnect_path() 282 .mnt = path->mnt, in get_name() 483 err = reconnect_path(mnt, result, nbuf); in exportfs_decode_fh_raw() 521 target_dir = nop->fh_to_parent(mnt->mnt_sb, fid, in exportfs_decode_fh_raw() 534 err = reconnect_path(mnt, target_dir, nbuf); in exportfs_decode_fh_raw() [all …]
|
| /linux-6.15/Documentation/target/ |
| H A D | tcm_mod_builder.rst | 33 tcm_dir: /mnt/sdb/lio-core-2.6.git/Documentation/target/../../ 36 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000 39 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000 41 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/tcm_nab5000_base.h 43 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../include/target/target_core_fabric_ops.h 51 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/Kbuild 53 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/Kconfig 72 target:/mnt/sdb/lio-core-2.6.git# ls -la drivers/target/tcm_nab5000/ 98 target:/mnt/sdb/lio-core-2.6.git# insmod drivers/target/tcm_nab5000.ko 104 target:/mnt/sdb/lio-core-2.6.git# tree /sys/kernel/config/target/nab5000/ [all …]
|
| /linux-6.15/tools/perf/util/ |
| H A D | cgroup.c | 34 char mnt[PATH_MAX + 1]; in open_cgroup() local 41 scnprintf(path, PATH_MAX, "%s/%s", mnt, name); in open_cgroup() 69 char mnt[PATH_MAX + 1]; in read_cgroup_id() local 89 char mnt[PATH_MAX + 1]; in cgroup_is_v2() local 95 if (statfs(mnt, &stbuf) < 0) in cgroup_is_v2() 302 char mnt[PATH_MAX]; in match_cgroups() local 309 if (cgroupfs_find_mountpoint(mnt, sizeof(mnt), "perf_event")) in match_cgroups() 313 prefix_len = strlen(mnt); in match_cgroups() 608 char mnt[PATH_MAX]; in read_all_cgroups() local 612 if (cgroupfs_find_mountpoint(mnt, sizeof(mnt), "perf_event")) in read_all_cgroups() [all …]
|
| /linux-6.15/security/apparmor/ |
| H A D | mount.c | 93 if (ad->mnt.type) { in audit_cb() 97 if (ad->mnt.src_name) { in audit_cb() 101 if (ad->mnt.trans) { in audit_cb() 105 if (ad->mnt.flags) { in audit_cb() 110 if (ad->mnt.data) { in audit_cb() 176 ad.mnt.type = type; in audit_mount() 177 ad.mnt.trans = trans; in audit_mount() 178 ad.mnt.flags = flags; in audit_mount() 180 ad.mnt.data = data; in audit_mount() 644 struct path path = { .mnt = mnt, .dentry = mnt->mnt_root }; in aa_umount() [all …]
|
| /linux-6.15/fs/cachefiles/ |
| H A D | cache.c | 44 cache->mnt = path.mnt; in cachefiles_add_cache() 48 if (is_idmapped_mnt(path.mnt)) { in cachefiles_add_cache() 167 mntput(cache->mnt); in cachefiles_add_cache() 168 cache->mnt = NULL; in cachefiles_add_cache() 194 .mnt = cache->mnt, in cachefiles_has_space() 195 .dentry = cache->mnt->mnt_root, in cachefiles_has_space() 395 down_read(&cache->mnt->mnt_sb->s_umount); in cachefiles_sync_cache() 396 ret = sync_filesystem(cache->mnt->mnt_sb); in cachefiles_sync_cache() 397 up_read(&cache->mnt->mnt_sb->s_umount); in cachefiles_sync_cache()
|
| /linux-6.15/fs/smb/client/ |
| H A D | namespace.c | 198 struct vfsmount *mnt; in cifs_do_automount() local 222 fc = fs_context_for_submount(path->mnt->mnt_sb->s_type, mntpt); in cifs_do_automount() 231 mnt = ERR_CAST(full_path); in cifs_do_automount() 244 mnt = ERR_PTR(rc); in cifs_do_automount() 250 mnt = ERR_PTR(rc); in cifs_do_automount() 256 mnt = ERR_CAST(ctx->source); in cifs_do_automount() 264 mnt = fc_mount(fc); in cifs_do_automount() 268 return mnt; in cifs_do_automount()
|
| /linux-6.15/fs/notify/ |
| H A D | fsnotify.c | 26 void __fsnotify_vfsmount_delete(struct vfsmount *mnt) in __fsnotify_vfsmount_delete() argument 28 fsnotify_clear_marks_by_mount(mnt); in __fsnotify_vfsmount_delete() 242 READ_ONCE(real_mount(path->mnt)->mnt_fsnotify_mask) : 0; in __fsnotify_parent() 549 struct mount *mnt = NULL; in fsnotify() local 557 mnt = real_mount(path->mnt); in fsnotify() 585 (!mnt || !mnt->mnt_fsnotify_marks) && in fsnotify() 593 if (mnt) in fsnotify() 594 marks_mask |= READ_ONCE(mnt->mnt_fsnotify_mask); in fsnotify() 618 if (mnt) { in fsnotify() 620 fsnotify_first_mark(&mnt->mnt_fsnotify_marks); in fsnotify() [all …]
|
| /linux-6.15/tools/testing/selftests/mm/ |
| H A D | charge_reserved_hugetlb.sh | 54 if [[ -e /mnt/huge ]]; then 55 rm -rf /mnt/huge/* 56 umount /mnt/huge || echo error 57 rmdir /mnt/huge 262 if [[ -e /mnt/huge ]]; then 263 rm -rf /mnt/huge/* 264 umount /mnt/huge 265 rmdir /mnt/huge 292 mkdir -p /mnt/huge 293 mount -t hugetlbfs -o pagesize=${MB}M,size=256M none /mnt/huge [all …]
|