mnt 2157 arch/ia64/kernel/perfmon.c path.mnt = mntget(pfmfs_mnt); mnt 405 arch/powerpc/platforms/cell/spufs/inode.c struct vfsmount *mnt, int flags, umode_t mode, mnt 412 arch/powerpc/platforms/cell/spufs/inode.c struct path path = {.mnt = mnt, .dentry = dentry}; mnt 526 arch/powerpc/platforms/cell/spufs/inode.c struct vfsmount *mnt, umode_t mode) mnt 528 arch/powerpc/platforms/cell/spufs/inode.c struct path path = {.mnt = mnt, .dentry = dentry}; mnt 567 arch/powerpc/platforms/cell/spufs/inode.c ret = spufs_create_gang(dir, dentry, path->mnt, mode); mnt 569 arch/powerpc/platforms/cell/spufs/inode.c ret = spufs_create_context(dir, dentry, path->mnt, flags, mode, mnt 126 arch/um/drivers/mconsole_kern.c struct vfsmount *mnt = task_active_pid_ns(current)->proc_mnt; mnt 137 arch/um/drivers/mconsole_kern.c file = file_open_root(mnt->mnt_root, mnt, ptr, O_RDONLY, 0); mnt 59 drivers/base/devtmpfs.c static struct vfsmount *mnt; mnt 64 drivers/base/devtmpfs.c struct super_block *s = mnt->mnt_sb; mnt 325 drivers/base/devtmpfs.c struct path p = {.mnt = parent.mnt, .dentry = dentry}; mnt 437 drivers/base/devtmpfs.c mnt = vfs_kern_mount(&internal_fs_type, 0, "devtmpfs", opts); mnt 438 drivers/base/devtmpfs.c if (IS_ERR(mnt)) { mnt 440 drivers/base/devtmpfs.c PTR_ERR(mnt)); mnt 441 drivers/base/devtmpfs.c return PTR_ERR(mnt); mnt 643 drivers/scsi/aacraid/aachba.c (le32_to_cpu(dresp->mnt[0].vol) != CT_NONE) && mnt 644 drivers/scsi/aacraid/aachba.c (le32_to_cpu(dresp->mnt[0].state) != FSCS_HIDDEN)) { mnt 646 drivers/scsi/aacraid/aachba.c dresp->mnt[0].fileinfo.bdevinfo.block_size = 0x200; mnt 650 drivers/scsi/aacraid/aachba.c le32_to_cpu(dresp->mnt[0].fileinfo.bdevinfo.block_size); mnt 654 drivers/scsi/aacraid/aachba.c dresp->mnt[0].fileinfo.bdevinfo mnt 658 drivers/scsi/aacraid/aachba.c if (dresp->mnt[0].state & cpu_to_le32(FSCS_NOT_READY)) mnt 662 drivers/scsi/aacraid/aachba.c fsa_dev_ptr->type = le32_to_cpu(dresp->mnt[0].vol); mnt 664 drivers/scsi/aacraid/aachba.c = ((u64)le32_to_cpu(dresp->mnt[0].capacity)) + mnt 665 drivers/scsi/aacraid/aachba.c (((u64)le32_to_cpu(dresp->mnt[0].capacityhigh)) << 32); mnt 666 drivers/scsi/aacraid/aachba.c fsa_dev_ptr->ro = ((le32_to_cpu(dresp->mnt[0].state) & FSCS_READONLY) != 0); mnt 689 drivers/scsi/aacraid/aachba.c dresp->mnt[0].capacityhigh = 0; mnt 691 drivers/scsi/aacraid/aachba.c (le32_to_cpu(dresp->mnt[0].vol) != CT_NONE)) { mnt 2261 drivers/scsi/aacraid/aacraid.h struct aac_mntent mnt[1]; mnt 640 drivers/tty/pty.c path.mnt = devpts_mntget(master, tty->driver_data); mnt 641 drivers/tty/pty.c if (IS_ERR(path.mnt)) { mnt 642 drivers/tty/pty.c retval = PTR_ERR(path.mnt); mnt 648 drivers/tty/pty.c mntput(path.mnt); mnt 161 fs/afs/mntpt.c struct vfsmount *mnt; mnt 172 fs/afs/mntpt.c mnt = fc_mount(fc); mnt 174 fs/afs/mntpt.c mnt = ERR_PTR(ret); mnt 177 fs/afs/mntpt.c return mnt; mnt 159 fs/autofs/autofs_i.h int autofs_do_expire_multi(struct super_block *sb, struct vfsmount *mnt, mnt 193 fs/autofs/dev-ioctl.c while (path.dentry == path.mnt->mnt_root) { mnt 461 fs/autofs/dev-ioctl.c struct vfsmount *mnt; mnt 465 fs/autofs/dev-ioctl.c mnt = fp->f_path.mnt; mnt 467 fs/autofs/dev-ioctl.c return autofs_do_expire_multi(sbi->sb, mnt, sbi, how); mnt 476 fs/autofs/dev-ioctl.c if (may_umount(fp->f_path.mnt)) mnt 531 fs/autofs/dev-ioctl.c if (path.mnt->mnt_root == path.dentry) { mnt 29 fs/autofs/expire.c static int autofs_mount_busy(struct vfsmount *mnt, mnt 33 fs/autofs/expire.c struct path path = {.mnt = mnt, .dentry = dentry}; mnt 58 fs/autofs/expire.c if (!may_umount_tree(path.mnt)) { mnt 150 fs/autofs/expire.c static int autofs_direct_busy(struct vfsmount *mnt, mnt 162 fs/autofs/expire.c if (!may_umount_tree(mnt)) { mnt 182 fs/autofs/expire.c static int autofs_tree_busy(struct vfsmount *mnt, mnt 207 fs/autofs/expire.c if (autofs_mount_busy(mnt, p, how)) { mnt 241 fs/autofs/expire.c static struct dentry *autofs_check_leaves(struct vfsmount *mnt, mnt 256 fs/autofs/expire.c if (autofs_mount_busy(mnt, p, how)) mnt 275 fs/autofs/expire.c struct vfsmount *mnt, mnt 288 fs/autofs/expire.c if (!autofs_direct_busy(mnt, root, timeout, how)) { mnt 299 fs/autofs/expire.c if (!autofs_direct_busy(mnt, root, timeout, how)) { mnt 322 fs/autofs/expire.c struct vfsmount *mnt, mnt 343 fs/autofs/expire.c if (autofs_mount_busy(mnt, dentry, how)) mnt 387 fs/autofs/expire.c if (!autofs_tree_busy(mnt, dentry, timeout, how)) mnt 404 fs/autofs/expire.c expired = autofs_check_leaves(mnt, dentry, timeout, how); mnt 421 fs/autofs/expire.c struct vfsmount *mnt, mnt 447 fs/autofs/expire.c expired = should_expire(dentry, mnt, timeout, how); mnt 461 fs/autofs/expire.c found = should_expire(expired, mnt, timeout, how); mnt 537 fs/autofs/expire.c struct vfsmount *mnt, mnt 551 fs/autofs/expire.c dentry = autofs_expire_indirect(sb, mnt, sbi, 0); mnt 575 fs/autofs/expire.c int autofs_do_expire_multi(struct super_block *sb, struct vfsmount *mnt, mnt 582 fs/autofs/expire.c dentry = autofs_expire_direct(sb, mnt, sbi, how); mnt 584 fs/autofs/expire.c dentry = autofs_expire_indirect(sb, mnt, sbi, how); mnt 588 fs/autofs/expire.c const struct path path = { .mnt = mnt, .dentry = dentry }; mnt 611 fs/autofs/expire.c int autofs_expire_multi(struct super_block *sb, struct vfsmount *mnt, mnt 619 fs/autofs/expire.c return autofs_do_expire_multi(sb, mnt, sbi, how); mnt 271 fs/autofs/root.c const struct path this = { .mnt = path->mnt, .dentry = expiring }; mnt 841 fs/autofs/root.c static inline int autofs_ask_umount(struct vfsmount *mnt, int __user *p) mnt 845 fs/autofs/root.c if (may_umount(mnt)) mnt 906 fs/autofs/root.c return autofs_ask_umount(filp->f_path.mnt, p); mnt 910 fs/autofs/root.c return autofs_expire_run(inode->i_sb, filp->f_path.mnt, sbi, p); mnt 914 fs/autofs/root.c filp->f_path.mnt, sbi, p); mnt 334 fs/autofs/waitq.c this.mnt = path->mnt; mnt 3842 fs/btrfs/ioctl.c if (file_in->f_path.mnt != file_out->f_path.mnt || mnt 1406 fs/btrfs/super.c struct vfsmount *mnt) mnt 1413 fs/btrfs/super.c ret = get_default_subvol_objectid(btrfs_sb(mnt->mnt_sb), mnt 1420 fs/btrfs/super.c subvol_name = get_subvol_name_from_objectid(btrfs_sb(mnt->mnt_sb), mnt 1430 fs/btrfs/super.c root = mount_subtree(mnt, subvol_name); mnt 1432 fs/btrfs/super.c mnt = NULL; mnt 1465 fs/btrfs/super.c mntput(mnt); mnt 118 fs/cachefiles/bind.c cache->mnt = path.mnt; mnt 239 fs/cachefiles/bind.c mntput(cache->mnt); mnt 240 fs/cachefiles/bind.c cache->mnt = NULL; mnt 267 fs/cachefiles/bind.c mntput(cache->mnt); mnt 676 fs/cachefiles/daemon.c .mnt = cache->mnt, mnt 677 fs/cachefiles/daemon.c .dentry = cache->mnt->mnt_root, mnt 389 fs/cachefiles/interface.c down_read(&cache->mnt->mnt_sb->s_umount); mnt 390 fs/cachefiles/interface.c ret = sync_filesystem(cache->mnt->mnt_sb); mnt 391 fs/cachefiles/interface.c up_read(&cache->mnt->mnt_sb->s_umount); mnt 523 fs/cachefiles/interface.c path.mnt = cache->mnt; mnt 57 fs/cachefiles/internal.h struct vfsmount *mnt; /* mountpoint holding the cache */ mnt 307 fs/cachefiles/namei.c path.mnt = cache->mnt; mnt 407 fs/cachefiles/namei.c path.mnt = cache->mnt; mnt 409 fs/cachefiles/namei.c path_to_graveyard.mnt = cache->mnt; mnt 501 fs/cachefiles/namei.c path.mnt = cache->mnt; mnt 789 fs/cachefiles/namei.c path.mnt = cache->mnt; mnt 920 fs/cachefiles/rdwr.c path.mnt = cache->mnt; mnt 268 fs/cifs/cifs_dfs_ref.c struct vfsmount *mnt; mnt 286 fs/cifs/cifs_dfs_ref.c mnt = vfs_submount(mntpt, &cifs_fs_type, devname, mountdata); mnt 289 fs/cifs/cifs_dfs_ref.c return mnt; mnt 303 fs/cifs/cifs_dfs_ref.c struct vfsmount *mnt; mnt 314 fs/cifs/cifs_dfs_ref.c mnt = ERR_PTR(-ENOMEM); mnt 318 fs/cifs/cifs_dfs_ref.c mnt = ERR_PTR(-EREMOTE); mnt 344 fs/cifs/cifs_dfs_ref.c mnt = ERR_PTR(-ENOMEM); mnt 367 fs/cifs/cifs_dfs_ref.c mnt = ERR_PTR(rc); mnt 376 fs/cifs/cifs_dfs_ref.c mnt = cifs_dfs_do_mount(mntpt, cifs_sb, full_path); mnt 378 fs/cifs/cifs_dfs_ref.c full_path + 1, mnt); mnt 386 fs/cifs/cifs_dfs_ref.c return mnt; mnt 748 fs/coredump.c cprm.file = file_open_root(root.dentry, root.mnt, mnt 81 fs/d_path.c struct mount *mnt; mnt 97 fs/d_path.c vfsmnt = path->mnt; mnt 98 fs/d_path.c mnt = real_mount(vfsmnt); mnt 100 fs/d_path.c while (dentry != root->dentry || vfsmnt != root->mnt) { mnt 104 fs/d_path.c struct mount *parent = READ_ONCE(mnt->mnt_parent); mnt 113 fs/d_path.c if (mnt != parent) { mnt 114 fs/d_path.c dentry = READ_ONCE(mnt->mnt_mountpoint); mnt 115 fs/d_path.c mnt = parent; mnt 116 fs/d_path.c vfsmnt = &mnt->mnt; mnt 119 fs/d_path.c if (is_mounted(vfsmnt) && !is_anon_ns(mnt->mnt_ns)) mnt 276 fs/d_path.c (!IS_ROOT(path->dentry) || path->dentry != path->mnt->mnt_root)) mnt 1374 fs/dcache.c struct vfsmount *mnt; mnt 1381 fs/dcache.c struct path path = { .mnt = info->mnt, .dentry = dentry }; mnt 1402 fs/dcache.c struct check_mount data = { .mnt = parent->mnt, .mounted = 0 }; mnt 142 fs/devpts/inode.c sb = path->mnt->mnt_sb; mnt 144 fs/devpts/inode.c (path->mnt->mnt_root != sb->s_root)) mnt 179 fs/devpts/inode.c while (path.mnt->mnt_root == path.dentry) mnt 184 fs/devpts/inode.c if ((path.mnt->mnt_sb->s_magic != DEVPTS_SUPER_MAGIC) || mnt 185 fs/devpts/inode.c (DEVPTS_SB(path.mnt->mnt_sb) != fsi)) mnt 189 fs/devpts/inode.c if (DEVPTS_SB(path.mnt->mnt_sb) == fsi) mnt 190 fs/devpts/inode.c return path.mnt; mnt 195 fs/devpts/inode.c mntput(path.mnt); mnt 209 fs/devpts/inode.c if (path.mnt->mnt_sb->s_magic != DEVPTS_SUPER_MAGIC) { mnt 222 fs/devpts/inode.c sb = path.mnt->mnt_sb; mnt 521 fs/ecryptfs/ecryptfs_kernel.h return ((struct ecryptfs_dentry_info *)dentry->d_fsdata)->lower_path.mnt; mnt 338 fs/ecryptfs/inode.c dentry_info->lower_path.mnt = mntget(path->mnt); mnt 128 fs/ecryptfs/kthread.c req.path.mnt = lower_mnt; mnt 111 fs/ecryptfs/main.c rc = ecryptfs_privileged_open(lower_file, path->dentry, path->mnt, mnt 116 fs/ecryptfs/main.c "rc = [%d]\n", path->dentry, path->mnt, rc); mnt 110 fs/exec.c return (path->mnt->mnt_flags & MNT_NOEXEC) || mnt 111 fs/exec.c (path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC); mnt 1532 fs/exec.c if (!mnt_may_suid(bprm->file->f_path.mnt)) mnt 27 fs/exportfs/expfs.c static int exportfs_get_name(struct vfsmount *mnt, struct dentry *dir, mnt 31 fs/exportfs/expfs.c struct path path = {.mnt = mnt, .dentry = dir}; mnt 121 fs/exportfs/expfs.c static struct dentry *reconnect_one(struct vfsmount *mnt, mnt 130 fs/exportfs/expfs.c if (mnt->mnt_sb->s_export_op->get_parent) mnt 131 fs/exportfs/expfs.c parent = mnt->mnt_sb->s_export_op->get_parent(dentry); mnt 142 fs/exportfs/expfs.c err = exportfs_get_name(mnt, parent, nbuf, dentry); mnt 212 fs/exportfs/expfs.c reconnect_path(struct vfsmount *mnt, struct dentry *target_dir, char *nbuf) mnt 219 fs/exportfs/expfs.c BUG_ON(dentry == mnt->mnt_sb->s_root); mnt 222 fs/exportfs/expfs.c parent = reconnect_one(mnt, dentry, nbuf); mnt 285 fs/exportfs/expfs.c .mnt = path->mnt, mnt 420 fs/exportfs/expfs.c struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid, mnt 424 fs/exportfs/expfs.c const struct export_operations *nop = mnt->mnt_sb->s_export_op; mnt 434 fs/exportfs/expfs.c result = nop->fh_to_dentry(mnt->mnt_sb, fid, fh_len, fileid_type); mnt 459 fs/exportfs/expfs.c err = reconnect_path(mnt, result, nbuf); mnt 497 fs/exportfs/expfs.c target_dir = nop->fh_to_parent(mnt->mnt_sb, fid, mnt 510 fs/exportfs/expfs.c err = reconnect_path(mnt, target_dir, nbuf); mnt 521 fs/exportfs/expfs.c err = exportfs_get_name(mnt, target_dir, nbuf, result); mnt 398 fs/ext4/file.c struct vfsmount *mnt) mnt 420 fs/ext4/file.c path.mnt = mnt; mnt 421 fs/ext4/file.c path.dentry = mnt->mnt_root; mnt 452 fs/ext4/file.c ret = ext4_sample_last_mounted(inode->i_sb, filp->f_path.mnt); mnt 2578 fs/f2fs/file.c if (file_in->f_path.mnt != file_out->f_path.mnt || mnt 72 fs/fhandle.c if (put_user(real_mount(path->mnt)->mnt_id, mnt_id) || mnt 117 fs/fhandle.c struct vfsmount *mnt; mnt 122 fs/fhandle.c mnt = mntget(fs->pwd.mnt); mnt 128 fs/fhandle.c mnt = mntget(f.file->f_path.mnt); mnt 131 fs/fhandle.c return mnt; mnt 145 fs/fhandle.c path->mnt = get_vfsmount_from_fd(mountdirfd); mnt 146 fs/fhandle.c if (IS_ERR(path->mnt)) { mnt 147 fs/fhandle.c retval = PTR_ERR(path->mnt); mnt 152 fs/fhandle.c path->dentry = exportfs_decode_fh(path->mnt, mnt 162 fs/fhandle.c mntput(path->mnt); mnt 232 fs/fhandle.c file = file_open_root(path.dentry, path.mnt, "", open_flag, 0); mnt 214 fs/file_table.c struct file *alloc_file_pseudo(struct inode *inode, struct vfsmount *mnt, mnt 225 fs/file_table.c path.dentry = d_alloc_pseudo(mnt->mnt_sb, &this); mnt 228 fs/file_table.c if (!mnt->mnt_sb->s_d_op) mnt 230 fs/file_table.c path.mnt = mntget(mnt); mnt 257 fs/file_table.c struct vfsmount *mnt = file->f_path.mnt; mnt 291 fs/file_table.c __mnt_drop_write(mnt); mnt 295 fs/file_table.c dissolve_on_fput(mnt); mnt 296 fs/file_table.c mntput(mnt); mnt 292 fs/fs_parser.c _path->mnt = NULL; mnt 52 fs/fs_struct.c if (likely(p->dentry != old->dentry || p->mnt != old->mnt)) mnt 186 fs/fsopen.c if (target.mnt->mnt_root != target.dentry) mnt 1372 fs/hugetlbfs/inode.c struct vfsmount *mnt; mnt 1381 fs/hugetlbfs/inode.c mnt = hugetlbfs_vfsmount[hstate_idx]; mnt 1382 fs/hugetlbfs/inode.c if (!mnt) mnt 1399 fs/hugetlbfs/inode.c inode = hugetlbfs_get_inode(mnt->mnt_sb, NULL, S_IFREG | S_IRWXUGO, 0); mnt 1413 fs/hugetlbfs/inode.c file = alloc_file_pseudo(inode, mnt, name, O_RDWR, mnt 1430 fs/hugetlbfs/inode.c struct vfsmount *mnt; mnt 1434 fs/hugetlbfs/inode.c mnt = ERR_CAST(fc); mnt 1438 fs/hugetlbfs/inode.c mnt = fc_mount(fc); mnt 1441 fs/hugetlbfs/inode.c if (IS_ERR(mnt)) mnt 1444 fs/hugetlbfs/inode.c return mnt; mnt 1449 fs/hugetlbfs/inode.c struct vfsmount *mnt; mnt 1471 fs/hugetlbfs/inode.c mnt = mount_one_hugetlbfs(&hstates[default_hstate_idx]); mnt 1472 fs/hugetlbfs/inode.c if (IS_ERR(mnt)) { mnt 1473 fs/hugetlbfs/inode.c error = PTR_ERR(mnt); mnt 1476 fs/hugetlbfs/inode.c hugetlbfs_vfsmount[default_hstate_idx] = mnt; mnt 1486 fs/hugetlbfs/inode.c mnt = mount_one_hugetlbfs(h); mnt 1487 fs/hugetlbfs/inode.c if (IS_ERR(mnt)) mnt 1490 fs/hugetlbfs/inode.c hugetlbfs_vfsmount[i] = mnt; mnt 1627 fs/inode.c static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, mnt 1631 fs/inode.c if (!(mnt->mnt_flags & MNT_RELATIME)) mnt 1705 fs/inode.c struct vfsmount *mnt = path->mnt; mnt 1722 fs/inode.c if (mnt->mnt_flags & MNT_NOATIME) mnt 1724 fs/inode.c if ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)) mnt 1729 fs/inode.c if (!relatime_need_update(mnt, inode, now)) mnt 1740 fs/inode.c struct vfsmount *mnt = path->mnt; mnt 1750 fs/inode.c if (__mnt_want_write(mnt) != 0) mnt 1763 fs/inode.c __mnt_drop_write(mnt); mnt 233 fs/ioctl.c if (src_file.file->f_path.mnt != dst_file->f_path.mnt) mnt 600 fs/libfs.c struct vfsmount *mnt = NULL; mnt 604 fs/libfs.c mnt = vfs_kern_mount(type, SB_KERNMOUNT, type->name, NULL); mnt 605 fs/libfs.c if (IS_ERR(mnt)) mnt 606 fs/libfs.c return PTR_ERR(mnt); mnt 609 fs/libfs.c *mount = mnt; mnt 614 fs/libfs.c mntput(mnt); mnt 621 fs/libfs.c struct vfsmount *mnt; mnt 623 fs/libfs.c mnt = *mount; mnt 627 fs/libfs.c mntput(mnt); mnt 38 fs/mount.h struct vfsmount mnt; mnt 79 fs/mount.h static inline struct mount *real_mount(struct vfsmount *mnt) mnt 81 fs/mount.h return container_of(mnt, struct mount, mnt); mnt 84 fs/mount.h static inline int mnt_has_parent(struct mount *mnt) mnt 86 fs/mount.h return mnt != mnt->mnt_parent; mnt 89 fs/mount.h static inline int is_mounted(struct vfsmount *mnt) mnt 92 fs/mount.h return !IS_ERR_OR_NULL(real_mount(mnt)->mnt_ns); mnt 102 fs/mount.h struct mount *m = __lookup_mnt(path->mnt, path->dentry); mnt 103 fs/mount.h return m && likely(!(m->mnt.mnt_flags & MNT_SYNC_UMOUNT)); mnt 469 fs/namei.c mntget(path->mnt); mnt 483 fs/namei.c mntput(path->mnt); mnt 562 fs/namei.c struct vfsmount *mnt = path->mnt; mnt 563 fs/namei.c struct super_block *sb = mnt->mnt_sb; mnt 566 fs/namei.c if (!(sb->s_iflags & SB_I_MULTIROOT) && (mnt->mnt_root == sb->s_root)) mnt 569 fs/namei.c return is_subdir(path->dentry, mnt->mnt_root); mnt 614 fs/namei.c int res = __legitimize_mnt(path->mnt, nd->m_seq); mnt 617 fs/namei.c path->mnt = NULL; mnt 644 fs/namei.c if (!nd->root.mnt || (nd->flags & LOOKUP_ROOT)) mnt 690 fs/namei.c nd->path.mnt = NULL; mnt 717 fs/namei.c if (unlikely(!legitimize_mnt(nd->path.mnt, nd->m_seq))) mnt 743 fs/namei.c nd->path.mnt = NULL; mnt 780 fs/namei.c nd->root.mnt = NULL; mnt 822 fs/namei.c if (path->mnt != nd->path.mnt) mnt 823 fs/namei.c mntput(path->mnt); mnt 831 fs/namei.c if (nd->path.mnt != path->mnt) mnt 832 fs/namei.c mntput(nd->path.mnt); mnt 834 fs/namei.c nd->path.mnt = path->mnt; mnt 1083 fs/namei.c if (!nd->root.mnt) mnt 1107 fs/namei.c struct mount *mnt = real_mount(path->mnt); mnt 1112 fs/namei.c parent = mnt->mnt_parent; mnt 1113 fs/namei.c if (parent == mnt) { mnt 1117 fs/namei.c mntget(&parent->mnt); mnt 1118 fs/namei.c mountpoint = dget(mnt->mnt_mountpoint); mnt 1122 fs/namei.c mntput(path->mnt); mnt 1123 fs/namei.c path->mnt = &parent->mnt; mnt 1136 fs/namei.c struct vfsmount *mnt; mnt 1162 fs/namei.c mnt = path->dentry->d_op->d_automount(path); mnt 1163 fs/namei.c if (IS_ERR(mnt)) { mnt 1173 fs/namei.c if (PTR_ERR(mnt) == -EISDIR && (nd->flags & LOOKUP_PARENT)) mnt 1175 fs/namei.c return PTR_ERR(mnt); mnt 1178 fs/namei.c if (!mnt) /* mount collision */ mnt 1183 fs/namei.c mntget(path->mnt); mnt 1186 fs/namei.c err = finish_automount(mnt, path); mnt 1194 fs/namei.c path->mnt = mnt; mnt 1195 fs/namei.c path->dentry = dget(mnt->mnt_root); mnt 1215 fs/namei.c struct vfsmount *mnt = path->mnt; /* held by caller, must be left alone */ mnt 1242 fs/namei.c mntput(path->mnt); mnt 1243 fs/namei.c path->mnt = mounted; mnt 1267 fs/namei.c if (need_mntput && path->mnt == mnt) mnt 1268 fs/namei.c mntput(path->mnt); mnt 1285 fs/namei.c mntput(path->mnt); mnt 1286 fs/namei.c path->mnt = mounted; mnt 1326 fs/namei.c mounted = __lookup_mnt(path->mnt, path->dentry); mnt 1329 fs/namei.c path->mnt = &mounted->mnt; mnt 1330 fs/namei.c path->dentry = mounted->mnt.mnt_root; mnt 1351 fs/namei.c if (nd->path.dentry != nd->path.mnt->mnt_root) { mnt 1366 fs/namei.c struct mount *mnt = real_mount(nd->path.mnt); mnt 1367 fs/namei.c struct mount *mparent = mnt->mnt_parent; mnt 1368 fs/namei.c struct dentry *mountpoint = mnt->mnt_mountpoint; mnt 1373 fs/namei.c if (&mparent->mnt == nd->path.mnt) mnt 1377 fs/namei.c nd->path.mnt = &mparent->mnt; mnt 1384 fs/namei.c mounted = __lookup_mnt(nd->path.mnt, nd->path.dentry); mnt 1389 fs/namei.c nd->path.mnt = &mounted->mnt; mnt 1390 fs/namei.c nd->path.dentry = mounted->mnt.mnt_root; mnt 1434 fs/namei.c mntput(path->mnt); mnt 1435 fs/namei.c path->mnt = mounted; mnt 1457 fs/namei.c mntput(path->mnt); mnt 1458 fs/namei.c path->mnt = mounted; mnt 1479 fs/namei.c if (nd->path.dentry != nd->path.mnt->mnt_root) { mnt 1551 fs/namei.c struct vfsmount *mnt = nd->path.mnt; mnt 1599 fs/namei.c path->mnt = mnt; mnt 1626 fs/namei.c path->mnt = mnt; mnt 1701 fs/namei.c if (!nd->root.mnt) mnt 1721 fs/namei.c if (link->mnt == nd->path.mnt) mnt 1722 fs/namei.c mntget(link->mnt); mnt 1731 fs/namei.c nd->path.mnt = NULL; mnt 1806 fs/namei.c path.mnt = nd->path.mnt; mnt 2192 fs/namei.c nd->root.mnt = NULL; mnt 2193 fs/namei.c nd->path.mnt = NULL; mnt 2320 fs/namei.c nd->path.mnt = NULL; mnt 2362 fs/namei.c nd->path.mnt = NULL; mnt 2438 fs/namei.c int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, mnt 2442 fs/namei.c struct path root = {.mnt = mnt, .dentry = dentry}; mnt 2666 fs/namei.c path.mnt = nd->path.mnt; mnt 2691 fs/namei.c nd->path.mnt = NULL; mnt 2933 fs/namei.c return !(path->mnt->mnt_flags & MNT_NODEV) && mnt 2934 fs/namei.c !(path->mnt->mnt_sb->s_iflags & SB_I_NODEV); mnt 3062 fs/namei.c file->f_path.mnt = nd->path.mnt; mnt 3094 fs/namei.c path->mnt = nd->path.mnt; mnt 3237 fs/namei.c path->mnt = nd->path.mnt; mnt 3304 fs/namei.c error = mnt_want_write(nd->path.mnt); mnt 3350 fs/namei.c mnt_drop_write(nd->path.mnt); mnt 3401 fs/namei.c error = mnt_want_write(nd->path.mnt); mnt 3424 fs/namei.c mnt_drop_write(nd->path.mnt); mnt 3476 fs/namei.c error = mnt_want_write(path.mnt); mnt 3490 fs/namei.c file->f_path.mnt = path.mnt; mnt 3493 fs/namei.c mnt_drop_write(path.mnt); mnt 3567 fs/namei.c struct file *do_file_open_root(struct dentry *dentry, struct vfsmount *mnt, mnt 3575 fs/namei.c nd.root.mnt = mnt; mnt 3624 fs/namei.c err2 = mnt_want_write(path->mnt); mnt 3660 fs/namei.c mnt_drop_write(path->mnt); mnt 3679 fs/namei.c mnt_drop_write(path->mnt); mnt 3919 fs/namei.c error = mnt_want_write(path.mnt); mnt 3940 fs/namei.c mnt_drop_write(path.mnt); mnt 4040 fs/namei.c error = mnt_want_write(path.mnt); mnt 4071 fs/namei.c mnt_drop_write(path.mnt); mnt 4296 fs/namei.c if (old_path.mnt != new_path.mnt) mnt 4555 fs/namei.c if (old_path.mnt != new_path.mnt) mnt 4567 fs/namei.c error = mnt_want_write(old_path.mnt); mnt 4636 fs/namei.c mnt_drop_write(old_path.mnt); mnt 90 fs/namespace.c static inline struct hlist_head *m_hash(struct vfsmount *mnt, struct dentry *dentry) mnt 92 fs/namespace.c unsigned long tmp = ((unsigned long)mnt / L1_CACHE_BYTES); mnt 105 fs/namespace.c static int mnt_alloc_id(struct mount *mnt) mnt 111 fs/namespace.c mnt->mnt_id = res; mnt 115 fs/namespace.c static void mnt_free_id(struct mount *mnt) mnt 117 fs/namespace.c ida_free(&mnt_id_ida, mnt->mnt_id); mnt 123 fs/namespace.c static int mnt_alloc_group_id(struct mount *mnt) mnt 129 fs/namespace.c mnt->mnt_group_id = res; mnt 136 fs/namespace.c void mnt_release_group_id(struct mount *mnt) mnt 138 fs/namespace.c ida_free(&mnt_group_ida, mnt->mnt_group_id); mnt 139 fs/namespace.c mnt->mnt_group_id = 0; mnt 145 fs/namespace.c static inline void mnt_add_count(struct mount *mnt, int n) mnt 148 fs/namespace.c this_cpu_add(mnt->mnt_pcp->mnt_count, n); mnt 151 fs/namespace.c mnt->mnt_count += n; mnt 159 fs/namespace.c unsigned int mnt_get_count(struct mount *mnt) mnt 166 fs/namespace.c count += per_cpu_ptr(mnt->mnt_pcp, cpu)->mnt_count; mnt 171 fs/namespace.c return mnt->mnt_count; mnt 177 fs/namespace.c struct mount *mnt = kmem_cache_zalloc(mnt_cache, GFP_KERNEL); mnt 178 fs/namespace.c if (mnt) { mnt 181 fs/namespace.c err = mnt_alloc_id(mnt); mnt 186 fs/namespace.c mnt->mnt_devname = kstrdup_const(name, GFP_KERNEL); mnt 187 fs/namespace.c if (!mnt->mnt_devname) mnt 192 fs/namespace.c mnt->mnt_pcp = alloc_percpu(struct mnt_pcp); mnt 193 fs/namespace.c if (!mnt->mnt_pcp) mnt 196 fs/namespace.c this_cpu_add(mnt->mnt_pcp->mnt_count, 1); mnt 198 fs/namespace.c mnt->mnt_count = 1; mnt 199 fs/namespace.c mnt->mnt_writers = 0; mnt 202 fs/namespace.c INIT_HLIST_NODE(&mnt->mnt_hash); mnt 203 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_child); mnt 204 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_mounts); mnt 205 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_list); mnt 206 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_expire); mnt 207 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_share); mnt 208 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_slave_list); mnt 209 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_slave); mnt 210 fs/namespace.c INIT_HLIST_NODE(&mnt->mnt_mp_list); mnt 211 fs/namespace.c INIT_LIST_HEAD(&mnt->mnt_umounting); mnt 212 fs/namespace.c INIT_HLIST_HEAD(&mnt->mnt_stuck_children); mnt 214 fs/namespace.c return mnt; mnt 218 fs/namespace.c kfree_const(mnt->mnt_devname); mnt 221 fs/namespace.c mnt_free_id(mnt); mnt 223 fs/namespace.c kmem_cache_free(mnt_cache, mnt); mnt 246 fs/namespace.c bool __mnt_is_readonly(struct vfsmount *mnt) mnt 248 fs/namespace.c return (mnt->mnt_flags & MNT_READONLY) || sb_rdonly(mnt->mnt_sb); mnt 252 fs/namespace.c static inline void mnt_inc_writers(struct mount *mnt) mnt 255 fs/namespace.c this_cpu_inc(mnt->mnt_pcp->mnt_writers); mnt 257 fs/namespace.c mnt->mnt_writers++; mnt 261 fs/namespace.c static inline void mnt_dec_writers(struct mount *mnt) mnt 264 fs/namespace.c this_cpu_dec(mnt->mnt_pcp->mnt_writers); mnt 266 fs/namespace.c mnt->mnt_writers--; mnt 270 fs/namespace.c static unsigned int mnt_get_writers(struct mount *mnt) mnt 277 fs/namespace.c count += per_cpu_ptr(mnt->mnt_pcp, cpu)->mnt_writers; mnt 282 fs/namespace.c return mnt->mnt_writers; mnt 286 fs/namespace.c static int mnt_is_readonly(struct vfsmount *mnt) mnt 288 fs/namespace.c if (mnt->mnt_sb->s_readonly_remount) mnt 292 fs/namespace.c return __mnt_is_readonly(mnt); mnt 313 fs/namespace.c struct mount *mnt = real_mount(m); mnt 317 fs/namespace.c mnt_inc_writers(mnt); mnt 324 fs/namespace.c while (READ_ONCE(mnt->mnt.mnt_flags) & MNT_WRITE_HOLD) mnt 333 fs/namespace.c mnt_dec_writers(mnt); mnt 374 fs/namespace.c int mnt_clone_write(struct vfsmount *mnt) mnt 377 fs/namespace.c if (__mnt_is_readonly(mnt)) mnt 380 fs/namespace.c mnt_inc_writers(real_mount(mnt)); mnt 396 fs/namespace.c return __mnt_want_write(file->f_path.mnt); mnt 398 fs/namespace.c return mnt_clone_write(file->f_path.mnt); mnt 428 fs/namespace.c void __mnt_drop_write(struct vfsmount *mnt) mnt 431 fs/namespace.c mnt_dec_writers(real_mount(mnt)); mnt 443 fs/namespace.c void mnt_drop_write(struct vfsmount *mnt) mnt 445 fs/namespace.c __mnt_drop_write(mnt); mnt 446 fs/namespace.c sb_end_write(mnt->mnt_sb); mnt 452 fs/namespace.c __mnt_drop_write(file->f_path.mnt); mnt 462 fs/namespace.c static int mnt_make_readonly(struct mount *mnt) mnt 467 fs/namespace.c mnt->mnt.mnt_flags |= MNT_WRITE_HOLD; mnt 490 fs/namespace.c if (mnt_get_writers(mnt) > 0) mnt 493 fs/namespace.c mnt->mnt.mnt_flags |= MNT_READONLY; mnt 499 fs/namespace.c mnt->mnt.mnt_flags &= ~MNT_WRITE_HOLD; mnt 504 fs/namespace.c static int __mnt_unmake_readonly(struct mount *mnt) mnt 507 fs/namespace.c mnt->mnt.mnt_flags &= ~MNT_READONLY; mnt 514 fs/namespace.c struct mount *mnt; mnt 522 fs/namespace.c list_for_each_entry(mnt, &sb->s_mounts, mnt_instance) { mnt 523 fs/namespace.c if (!(mnt->mnt.mnt_flags & MNT_READONLY)) { mnt 524 fs/namespace.c mnt->mnt.mnt_flags |= MNT_WRITE_HOLD; mnt 526 fs/namespace.c if (mnt_get_writers(mnt) > 0) { mnt 539 fs/namespace.c list_for_each_entry(mnt, &sb->s_mounts, mnt_instance) { mnt 540 fs/namespace.c if (mnt->mnt.mnt_flags & MNT_WRITE_HOLD) mnt 541 fs/namespace.c mnt->mnt.mnt_flags &= ~MNT_WRITE_HOLD; mnt 548 fs/namespace.c static void free_vfsmnt(struct mount *mnt) mnt 550 fs/namespace.c kfree_const(mnt->mnt_devname); mnt 552 fs/namespace.c free_percpu(mnt->mnt_pcp); mnt 554 fs/namespace.c kmem_cache_free(mnt_cache, mnt); mnt 565 fs/namespace.c struct mount *mnt; mnt 570 fs/namespace.c mnt = real_mount(bastard); mnt 571 fs/namespace.c mnt_add_count(mnt, 1); mnt 576 fs/namespace.c mnt_add_count(mnt, -1); mnt 581 fs/namespace.c mnt_add_count(mnt, -1); mnt 608 fs/namespace.c struct mount *__lookup_mnt(struct vfsmount *mnt, struct dentry *dentry) mnt 610 fs/namespace.c struct hlist_head *head = m_hash(mnt, dentry); mnt 614 fs/namespace.c if (&p->mnt_parent->mnt == mnt && p->mnt_mountpoint == dentry) mnt 644 fs/namespace.c child_mnt = __lookup_mnt(path->mnt, path->dentry); mnt 645 fs/namespace.c m = child_mnt ? &child_mnt->mnt : NULL; mnt 669 fs/namespace.c struct mount *mnt; mnt 676 fs/namespace.c list_for_each_entry(mnt, &ns->list, mnt_list) { mnt 677 fs/namespace.c is_covered = (mnt->mnt_mountpoint == dentry); mnt 774 fs/namespace.c static inline int check_mnt(struct mount *mnt) mnt 776 fs/namespace.c return mnt->mnt_ns == current->nsproxy->mnt_ns; mnt 804 fs/namespace.c static struct mountpoint *unhash_mnt(struct mount *mnt) mnt 807 fs/namespace.c mnt->mnt_parent = mnt; mnt 808 fs/namespace.c mnt->mnt_mountpoint = mnt->mnt.mnt_root; mnt 809 fs/namespace.c list_del_init(&mnt->mnt_child); mnt 810 fs/namespace.c hlist_del_init_rcu(&mnt->mnt_hash); mnt 811 fs/namespace.c hlist_del_init(&mnt->mnt_mp_list); mnt 812 fs/namespace.c mp = mnt->mnt_mp; mnt 813 fs/namespace.c mnt->mnt_mp = NULL; mnt 820 fs/namespace.c static void umount_mnt(struct mount *mnt) mnt 822 fs/namespace.c put_mountpoint(unhash_mnt(mnt)); mnt 828 fs/namespace.c void mnt_set_mountpoint(struct mount *mnt, mnt 833 fs/namespace.c mnt_add_count(mnt, 1); /* essentially, that's mntget */ mnt 835 fs/namespace.c child_mnt->mnt_parent = mnt; mnt 840 fs/namespace.c static void __attach_mnt(struct mount *mnt, struct mount *parent) mnt 842 fs/namespace.c hlist_add_head_rcu(&mnt->mnt_hash, mnt 843 fs/namespace.c m_hash(&parent->mnt, mnt->mnt_mountpoint)); mnt 844 fs/namespace.c list_add_tail(&mnt->mnt_child, &parent->mnt_mounts); mnt 850 fs/namespace.c static void attach_mnt(struct mount *mnt, mnt 854 fs/namespace.c mnt_set_mountpoint(parent, mp, mnt); mnt 855 fs/namespace.c __attach_mnt(mnt, parent); mnt 858 fs/namespace.c void mnt_change_mountpoint(struct mount *parent, struct mountpoint *mp, struct mount *mnt) mnt 860 fs/namespace.c struct mountpoint *old_mp = mnt->mnt_mp; mnt 861 fs/namespace.c struct mount *old_parent = mnt->mnt_parent; mnt 863 fs/namespace.c list_del_init(&mnt->mnt_child); mnt 864 fs/namespace.c hlist_del_init(&mnt->mnt_mp_list); mnt 865 fs/namespace.c hlist_del_init_rcu(&mnt->mnt_hash); mnt 867 fs/namespace.c attach_mnt(mnt, parent, mp); mnt 876 fs/namespace.c static void commit_tree(struct mount *mnt) mnt 878 fs/namespace.c struct mount *parent = mnt->mnt_parent; mnt 883 fs/namespace.c BUG_ON(parent == mnt); mnt 885 fs/namespace.c list_add_tail(&head, &mnt->mnt_list); mnt 894 fs/namespace.c __attach_mnt(mnt, parent); mnt 935 fs/namespace.c struct mount *mnt; mnt 940 fs/namespace.c mnt = alloc_vfsmnt(fc->source ?: "none"); mnt 941 fs/namespace.c if (!mnt) mnt 945 fs/namespace.c mnt->mnt.mnt_flags = MNT_INTERNAL; mnt 948 fs/namespace.c mnt->mnt.mnt_sb = fc->root->d_sb; mnt 949 fs/namespace.c mnt->mnt.mnt_root = dget(fc->root); mnt 950 fs/namespace.c mnt->mnt_mountpoint = mnt->mnt.mnt_root; mnt 951 fs/namespace.c mnt->mnt_parent = mnt; mnt 954 fs/namespace.c list_add_tail(&mnt->mnt_instance, &mnt->mnt.mnt_sb->s_mounts); mnt 956 fs/namespace.c return &mnt->mnt; mnt 976 fs/namespace.c struct vfsmount *mnt; mnt 992 fs/namespace.c mnt = fc_mount(fc); mnt 994 fs/namespace.c mnt = ERR_PTR(ret); mnt 997 fs/namespace.c return mnt; mnt 1019 fs/namespace.c struct super_block *sb = old->mnt.mnt_sb; mnt 1020 fs/namespace.c struct mount *mnt; mnt 1023 fs/namespace.c mnt = alloc_vfsmnt(old->mnt_devname); mnt 1024 fs/namespace.c if (!mnt) mnt 1028 fs/namespace.c mnt->mnt_group_id = 0; /* not a peer of original */ mnt 1030 fs/namespace.c mnt->mnt_group_id = old->mnt_group_id; mnt 1032 fs/namespace.c if ((flag & CL_MAKE_SHARED) && !mnt->mnt_group_id) { mnt 1033 fs/namespace.c err = mnt_alloc_group_id(mnt); mnt 1038 fs/namespace.c mnt->mnt.mnt_flags = old->mnt.mnt_flags; mnt 1039 fs/namespace.c mnt->mnt.mnt_flags &= ~(MNT_WRITE_HOLD|MNT_MARKED|MNT_INTERNAL); mnt 1042 fs/namespace.c mnt->mnt.mnt_sb = sb; mnt 1043 fs/namespace.c mnt->mnt.mnt_root = dget(root); mnt 1044 fs/namespace.c mnt->mnt_mountpoint = mnt->mnt.mnt_root; mnt 1045 fs/namespace.c mnt->mnt_parent = mnt; mnt 1047 fs/namespace.c list_add_tail(&mnt->mnt_instance, &sb->s_mounts); mnt 1052 fs/namespace.c list_add(&mnt->mnt_slave, &old->mnt_slave_list); mnt 1053 fs/namespace.c mnt->mnt_master = old; mnt 1054 fs/namespace.c CLEAR_MNT_SHARED(mnt); mnt 1057 fs/namespace.c list_add(&mnt->mnt_share, &old->mnt_share); mnt 1059 fs/namespace.c list_add(&mnt->mnt_slave, &old->mnt_slave); mnt 1060 fs/namespace.c mnt->mnt_master = old->mnt_master; mnt 1062 fs/namespace.c CLEAR_MNT_SHARED(mnt); mnt 1065 fs/namespace.c set_mnt_shared(mnt); mnt 1071 fs/namespace.c list_add(&mnt->mnt_expire, &old->mnt_expire); mnt 1074 fs/namespace.c return mnt; mnt 1077 fs/namespace.c mnt_free_id(mnt); mnt 1078 fs/namespace.c free_vfsmnt(mnt); mnt 1082 fs/namespace.c static void cleanup_mnt(struct mount *mnt) mnt 1093 fs/namespace.c WARN_ON(mnt_get_writers(mnt)); mnt 1094 fs/namespace.c if (unlikely(mnt->mnt_pins.first)) mnt 1095 fs/namespace.c mnt_pin_kill(mnt); mnt 1096 fs/namespace.c hlist_for_each_entry_safe(m, p, &mnt->mnt_stuck_children, mnt_umount) { mnt 1098 fs/namespace.c mntput(&m->mnt); mnt 1100 fs/namespace.c fsnotify_vfsmount_delete(&mnt->mnt); mnt 1101 fs/namespace.c dput(mnt->mnt.mnt_root); mnt 1102 fs/namespace.c deactivate_super(mnt->mnt.mnt_sb); mnt 1103 fs/namespace.c mnt_free_id(mnt); mnt 1104 fs/namespace.c call_rcu(&mnt->mnt_rcu, delayed_free_vfsmnt); mnt 1123 fs/namespace.c static void mntput_no_expire(struct mount *mnt) mnt 1128 fs/namespace.c if (likely(READ_ONCE(mnt->mnt_ns))) { mnt 1138 fs/namespace.c mnt_add_count(mnt, -1); mnt 1148 fs/namespace.c mnt_add_count(mnt, -1); mnt 1149 fs/namespace.c if (mnt_get_count(mnt)) { mnt 1154 fs/namespace.c if (unlikely(mnt->mnt.mnt_flags & MNT_DOOMED)) { mnt 1159 fs/namespace.c mnt->mnt.mnt_flags |= MNT_DOOMED; mnt 1162 fs/namespace.c list_del(&mnt->mnt_instance); mnt 1164 fs/namespace.c if (unlikely(!list_empty(&mnt->mnt_mounts))) { mnt 1166 fs/namespace.c list_for_each_entry_safe(p, tmp, &mnt->mnt_mounts, mnt_child) { mnt 1168 fs/namespace.c hlist_add_head(&p->mnt_umount, &mnt->mnt_stuck_children); mnt 1174 fs/namespace.c if (likely(!(mnt->mnt.mnt_flags & MNT_INTERNAL))) { mnt 1177 fs/namespace.c init_task_work(&mnt->mnt_rcu, __cleanup_mnt); mnt 1178 fs/namespace.c if (!task_work_add(task, &mnt->mnt_rcu, true)) mnt 1181 fs/namespace.c if (llist_add(&mnt->mnt_llist, &delayed_mntput_list)) mnt 1185 fs/namespace.c cleanup_mnt(mnt); mnt 1188 fs/namespace.c void mntput(struct vfsmount *mnt) mnt 1190 fs/namespace.c if (mnt) { mnt 1191 fs/namespace.c struct mount *m = real_mount(mnt); mnt 1200 fs/namespace.c struct vfsmount *mntget(struct vfsmount *mnt) mnt 1202 fs/namespace.c if (mnt) mnt 1203 fs/namespace.c mnt_add_count(real_mount(mnt), 1); mnt 1204 fs/namespace.c return mnt; mnt 1240 fs/namespace.c p = clone_mnt(real_mount(path->mnt), path->dentry, CL_PRIVATE); mnt 1243 fs/namespace.c p->mnt.mnt_flags |= MNT_INTERNAL; mnt 1244 fs/namespace.c return &p->mnt; mnt 1288 fs/namespace.c return p->show(m, &r->mnt); mnt 1309 fs/namespace.c struct mount *mnt = real_mount(m); mnt 1317 fs/namespace.c for (p = mnt; p; p = next_mnt(p, mnt)) { mnt 1344 fs/namespace.c int may_umount(struct vfsmount *mnt) mnt 1349 fs/namespace.c if (propagate_mount_busy(real_mount(mnt), 2)) mnt 1379 fs/namespace.c mntput(&m->mnt); mnt 1394 fs/namespace.c static bool disconnect_mount(struct mount *mnt, enum umount_tree_flags how) mnt 1401 fs/namespace.c if (!mnt_has_parent(mnt)) mnt 1408 fs/namespace.c if (!(mnt->mnt_parent->mnt.mnt_flags & MNT_UMOUNT)) mnt 1416 fs/namespace.c if (IS_MNT_LOCKED(mnt)) mnt 1427 fs/namespace.c static void umount_tree(struct mount *mnt, enum umount_tree_flags how) mnt 1433 fs/namespace.c propagate_mount_unlock(mnt); mnt 1436 fs/namespace.c for (p = mnt; p; p = next_mnt(p, mnt)) { mnt 1437 fs/namespace.c p->mnt.mnt_flags |= MNT_UMOUNT; mnt 1463 fs/namespace.c p->mnt.mnt_flags |= MNT_SYNC_UMOUNT; mnt 1481 fs/namespace.c static void shrink_submounts(struct mount *mnt); mnt 1506 fs/namespace.c static int do_umount(struct mount *mnt, int flags) mnt 1508 fs/namespace.c struct super_block *sb = mnt->mnt.mnt_sb; mnt 1511 fs/namespace.c retval = security_sb_umount(&mnt->mnt, flags); mnt 1522 fs/namespace.c if (&mnt->mnt == current->fs->root.mnt || mnt 1531 fs/namespace.c if (mnt_get_count(mnt) != 2) { mnt 1537 fs/namespace.c if (!xchg(&mnt->mnt_expiry_mark, 1)) mnt 1564 fs/namespace.c if (&mnt->mnt == current->fs->root.mnt && !(flags & MNT_DETACH)) { mnt 1579 fs/namespace.c if (mnt->mnt.mnt_flags & MNT_LOCKED) mnt 1584 fs/namespace.c if (!list_empty(&mnt->mnt_list)) mnt 1585 fs/namespace.c umount_tree(mnt, UMOUNT_PROPAGATE); mnt 1588 fs/namespace.c shrink_submounts(mnt); mnt 1590 fs/namespace.c if (!propagate_mount_busy(mnt, 2)) { mnt 1591 fs/namespace.c if (!list_empty(&mnt->mnt_list)) mnt 1592 fs/namespace.c umount_tree(mnt, UMOUNT_PROPAGATE|UMOUNT_SYNC); mnt 1615 fs/namespace.c struct mount *mnt; mnt 1625 fs/namespace.c mnt = hlist_entry(mp->m_list.first, struct mount, mnt_mp_list); mnt 1626 fs/namespace.c if (mnt->mnt.mnt_flags & MNT_UMOUNT) { mnt 1627 fs/namespace.c umount_mnt(mnt); mnt 1628 fs/namespace.c hlist_add_head(&mnt->mnt_umount, &unmounted); mnt 1630 fs/namespace.c else umount_tree(mnt, UMOUNT_CONNECTED); mnt 1670 fs/namespace.c struct mount *mnt; mnt 1686 fs/namespace.c mnt = real_mount(path.mnt); mnt 1688 fs/namespace.c if (path.dentry != path.mnt->mnt_root) mnt 1690 fs/namespace.c if (!check_mnt(mnt)) mnt 1692 fs/namespace.c if (mnt->mnt.mnt_flags & MNT_LOCKED) /* Check optimistically */ mnt 1698 fs/namespace.c retval = do_umount(mnt, flags); mnt 1702 fs/namespace.c mntput_no_expire(mnt); mnt 1749 fs/namespace.c struct mount *copy_tree(struct mount *mnt, struct dentry *dentry, mnt 1754 fs/namespace.c if (!(flag & CL_COPY_UNBINDABLE) && IS_MNT_UNBINDABLE(mnt)) mnt 1760 fs/namespace.c res = q = clone_mnt(mnt, dentry, flag); mnt 1764 fs/namespace.c q->mnt_mountpoint = mnt->mnt_mountpoint; mnt 1766 fs/namespace.c p = mnt; mnt 1767 fs/namespace.c list_for_each_entry(r, &mnt->mnt_mounts, mnt_child) { mnt 1775 fs/namespace.c if (s->mnt.mnt_flags & MNT_LOCKED) { mnt 1785 fs/namespace.c is_mnt_ns_file(s->mnt.mnt_root)) { mnt 1795 fs/namespace.c q = clone_mnt(p, p->mnt.mnt_root, flag); mnt 1820 fs/namespace.c if (!check_mnt(real_mount(path->mnt))) mnt 1823 fs/namespace.c tree = copy_tree(real_mount(path->mnt), path->dentry, mnt 1828 fs/namespace.c return &tree->mnt; mnt 1834 fs/namespace.c void dissolve_on_fput(struct vfsmount *mnt) mnt 1839 fs/namespace.c ns = real_mount(mnt)->mnt_ns; mnt 1842 fs/namespace.c umount_tree(real_mount(mnt), UMOUNT_CONNECTED); mnt 1852 fs/namespace.c void drop_collected_mounts(struct vfsmount *mnt) mnt 1856 fs/namespace.c umount_tree(real_mount(mnt), 0); mnt 1872 fs/namespace.c struct mount *old_mnt = real_mount(path->mnt); mnt 1882 fs/namespace.c return &new_mnt->mnt; mnt 1889 fs/namespace.c struct mount *mnt; mnt 1893 fs/namespace.c list_for_each_entry(mnt, &real_mount(root)->mnt_list, mnt_list) { mnt 1894 fs/namespace.c res = f(&mnt->mnt, arg); mnt 1901 fs/namespace.c static void lock_mnt_tree(struct mount *mnt) mnt 1905 fs/namespace.c for (p = mnt; p; p = next_mnt(p, mnt)) { mnt 1906 fs/namespace.c int flags = p->mnt.mnt_flags; mnt 1924 fs/namespace.c p->mnt.mnt_flags = flags; mnt 1928 fs/namespace.c static void cleanup_group_ids(struct mount *mnt, struct mount *end) mnt 1932 fs/namespace.c for (p = mnt; p != end; p = next_mnt(p, mnt)) { mnt 1938 fs/namespace.c static int invent_group_ids(struct mount *mnt, bool recurse) mnt 1942 fs/namespace.c for (p = mnt; p; p = recurse ? next_mnt(p, mnt) : NULL) { mnt 1946 fs/namespace.c cleanup_group_ids(mnt, p); mnt 1955 fs/namespace.c int count_mounts(struct mnt_namespace *ns, struct mount *mnt) mnt 1961 fs/namespace.c for (p = mnt; p; p = next_mnt(p, mnt)) mnt 2056 fs/namespace.c smp = get_mountpoint(source_mnt->mnt.mnt_root); mnt 2096 fs/namespace.c q = __lookup_mnt(&child->mnt_parent->mnt, mnt 2103 fs/namespace.c child->mnt.mnt_flags &= ~MNT_LOCKED; mnt 2131 fs/namespace.c struct vfsmount *mnt; mnt 2140 fs/namespace.c mnt = lookup_mnt(path); mnt 2141 fs/namespace.c if (likely(!mnt)) { mnt 2153 fs/namespace.c path->mnt = mnt; mnt 2154 fs/namespace.c dentry = path->dentry = dget(mnt->mnt_root); mnt 2170 fs/namespace.c static int graft_tree(struct mount *mnt, struct mount *p, struct mountpoint *mp) mnt 2172 fs/namespace.c if (mnt->mnt.mnt_sb->s_flags & SB_NOUSER) mnt 2176 fs/namespace.c d_is_dir(mnt->mnt.mnt_root)) mnt 2179 fs/namespace.c return attach_recursive_mnt(mnt, p, mp, false); mnt 2205 fs/namespace.c struct mount *mnt = real_mount(path->mnt); mnt 2210 fs/namespace.c if (path->dentry != path->mnt->mnt_root) mnt 2219 fs/namespace.c err = invent_group_ids(mnt, recurse); mnt 2225 fs/namespace.c for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL)) mnt 2234 fs/namespace.c static bool has_locked_children(struct mount *mnt, struct dentry *dentry) mnt 2237 fs/namespace.c list_for_each_entry(child, &mnt->mnt_mounts, mnt_child) { mnt 2241 fs/namespace.c if (child->mnt.mnt_flags & MNT_LOCKED) mnt 2249 fs/namespace.c struct mount *mnt = ERR_PTR(-EINVAL), *old = real_mount(old_path->mnt); mnt 2252 fs/namespace.c return mnt; mnt 2255 fs/namespace.c return mnt; mnt 2258 fs/namespace.c return mnt; mnt 2261 fs/namespace.c mnt = copy_tree(old, old_path->dentry, CL_COPY_MNT_NS_FILE); mnt 2263 fs/namespace.c mnt = clone_mnt(old, old_path->dentry, 0); mnt 2265 fs/namespace.c if (!IS_ERR(mnt)) mnt 2266 fs/namespace.c mnt->mnt.mnt_flags &= ~MNT_LOCKED; mnt 2268 fs/namespace.c return mnt; mnt 2278 fs/namespace.c struct mount *mnt = NULL, *parent; mnt 2297 fs/namespace.c parent = real_mount(path->mnt); mnt 2301 fs/namespace.c mnt = __do_loopback(&old_path, recurse); mnt 2302 fs/namespace.c if (IS_ERR(mnt)) { mnt 2303 fs/namespace.c err = PTR_ERR(mnt); mnt 2307 fs/namespace.c err = graft_tree(mnt, parent, mp); mnt 2310 fs/namespace.c umount_tree(mnt, UMOUNT_SYNC); mnt 2324 fs/namespace.c struct mount *mnt, *p; mnt 2331 fs/namespace.c mnt = __do_loopback(path, recursive); mnt 2332 fs/namespace.c if (IS_ERR(mnt)) { mnt 2335 fs/namespace.c return ERR_CAST(mnt); mnt 2339 fs/namespace.c for (p = mnt; p; p = next_mnt(p, mnt)) { mnt 2343 fs/namespace.c ns->root = mnt; mnt 2344 fs/namespace.c list_add_tail(&ns->list, &mnt->mnt_list); mnt 2345 fs/namespace.c mntget(&mnt->mnt); mnt 2349 fs/namespace.c mntput(path->mnt); mnt 2350 fs/namespace.c path->mnt = &mnt->mnt; mnt 2353 fs/namespace.c dissolve_on_fput(path->mnt); mnt 2416 fs/namespace.c static bool can_change_locked_flags(struct mount *mnt, unsigned int mnt_flags) mnt 2418 fs/namespace.c unsigned int fl = mnt->mnt.mnt_flags; mnt 2443 fs/namespace.c static int change_mount_ro_state(struct mount *mnt, unsigned int mnt_flags) mnt 2447 fs/namespace.c if (readonly_request == __mnt_is_readonly(&mnt->mnt)) mnt 2451 fs/namespace.c return mnt_make_readonly(mnt); mnt 2453 fs/namespace.c return __mnt_unmake_readonly(mnt); mnt 2460 fs/namespace.c static void set_mount_attributes(struct mount *mnt, unsigned int mnt_flags) mnt 2463 fs/namespace.c mnt_flags |= mnt->mnt.mnt_flags & ~MNT_USER_SETTABLE_MASK; mnt 2464 fs/namespace.c mnt->mnt.mnt_flags = mnt_flags; mnt 2465 fs/namespace.c touch_mnt_namespace(mnt->mnt_ns); mnt 2469 fs/namespace.c static void mnt_warn_timestamp_expiry(struct path *mountpoint, struct vfsmount *mnt) mnt 2471 fs/namespace.c struct super_block *sb = mnt->mnt_sb; mnt 2473 fs/namespace.c if (!__mnt_is_readonly(mnt) && mnt 2483 fs/namespace.c is_mounted(mnt) ? "remounted" : "mounted", mnt 2498 fs/namespace.c struct super_block *sb = path->mnt->mnt_sb; mnt 2499 fs/namespace.c struct mount *mnt = real_mount(path->mnt); mnt 2502 fs/namespace.c if (!check_mnt(mnt)) mnt 2505 fs/namespace.c if (path->dentry != mnt->mnt.mnt_root) mnt 2508 fs/namespace.c if (!can_change_locked_flags(mnt, mnt_flags)) mnt 2512 fs/namespace.c ret = change_mount_ro_state(mnt, mnt_flags); mnt 2514 fs/namespace.c set_mount_attributes(mnt, mnt_flags); mnt 2517 fs/namespace.c mnt_warn_timestamp_expiry(path, &mnt->mnt); mnt 2531 fs/namespace.c struct super_block *sb = path->mnt->mnt_sb; mnt 2532 fs/namespace.c struct mount *mnt = real_mount(path->mnt); mnt 2535 fs/namespace.c if (!check_mnt(mnt)) mnt 2538 fs/namespace.c if (path->dentry != path->mnt->mnt_root) mnt 2541 fs/namespace.c if (!can_change_locked_flags(mnt, mnt_flags)) mnt 2555 fs/namespace.c set_mount_attributes(mnt, mnt_flags); mnt 2560 fs/namespace.c mnt_warn_timestamp_expiry(path, &mnt->mnt); mnt 2566 fs/namespace.c static inline int tree_contains_unbindable(struct mount *mnt) mnt 2569 fs/namespace.c for (p = mnt; p; p = next_mnt(p, mnt)) { mnt 2589 fs/namespace.c if (mnt_ns_loop(p->mnt.mnt_root)) mnt 2612 fs/namespace.c old = real_mount(old_path->mnt); mnt 2613 fs/namespace.c p = real_mount(new_path->mnt); mnt 2625 fs/namespace.c if (!is_mounted(&old->mnt)) mnt 2632 fs/namespace.c if (old->mnt.mnt_flags & MNT_LOCKED) mnt 2635 fs/namespace.c if (old_path->dentry != old_path->mnt->mnt_root) mnt 2659 fs/namespace.c err = attach_recursive_mnt(old, real_mount(new_path->mnt), mp, mnt 2712 fs/namespace.c parent = real_mount(path->mnt); mnt 2725 fs/namespace.c if (path->mnt->mnt_sb == newmnt->mnt.mnt_sb && mnt 2726 fs/namespace.c path->mnt->mnt_root == path->dentry) mnt 2730 fs/namespace.c if (d_is_symlink(newmnt->mnt.mnt_root)) mnt 2733 fs/namespace.c newmnt->mnt.mnt_flags = mnt_flags; mnt 2750 fs/namespace.c struct vfsmount *mnt; mnt 2765 fs/namespace.c mnt = vfs_create_mount(fc); mnt 2766 fs/namespace.c if (IS_ERR(mnt)) mnt 2767 fs/namespace.c return PTR_ERR(mnt); mnt 2769 fs/namespace.c mnt_warn_timestamp_expiry(mountpoint, mnt); mnt 2771 fs/namespace.c error = do_add_mount(real_mount(mnt), mountpoint, mnt_flags); mnt 2773 fs/namespace.c mntput(mnt); mnt 2832 fs/namespace.c struct mount *mnt = real_mount(m); mnt 2837 fs/namespace.c BUG_ON(mnt_get_count(mnt) < 2); mnt 2839 fs/namespace.c if (m->mnt_sb == path->mnt->mnt_sb && mnt 2845 fs/namespace.c err = do_add_mount(mnt, path, path->mnt->mnt_flags | MNT_SHRINKABLE); mnt 2850 fs/namespace.c if (!list_empty(&mnt->mnt_expire)) { mnt 2852 fs/namespace.c list_del_init(&mnt->mnt_expire); mnt 2865 fs/namespace.c void mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list) mnt 2869 fs/namespace.c list_add_tail(&real_mount(mnt)->mnt_expire, expiry_list); mnt 2882 fs/namespace.c struct mount *mnt, *next; mnt 2897 fs/namespace.c list_for_each_entry_safe(mnt, next, mounts, mnt_expire) { mnt 2898 fs/namespace.c if (!xchg(&mnt->mnt_expiry_mark, 1) || mnt 2899 fs/namespace.c propagate_mount_busy(mnt, 1)) mnt 2901 fs/namespace.c list_move(&mnt->mnt_expire, &graveyard); mnt 2904 fs/namespace.c mnt = list_first_entry(&graveyard, struct mount, mnt_expire); mnt 2905 fs/namespace.c touch_mnt_namespace(mnt->mnt_ns); mnt 2906 fs/namespace.c umount_tree(mnt, UMOUNT_PROPAGATE|UMOUNT_SYNC); mnt 2931 fs/namespace.c struct mount *mnt = list_entry(tmp, struct mount, mnt_child); mnt 2934 fs/namespace.c if (!(mnt->mnt.mnt_flags & MNT_SHRINKABLE)) mnt 2939 fs/namespace.c if (!list_empty(&mnt->mnt_mounts)) { mnt 2940 fs/namespace.c this_parent = mnt; mnt 2944 fs/namespace.c if (!propagate_mount_busy(mnt, 1)) { mnt 2945 fs/namespace.c list_move_tail(&mnt->mnt_expire, graveyard); mnt 2966 fs/namespace.c static void shrink_submounts(struct mount *mnt) mnt 2972 fs/namespace.c while (select_submounts(mnt, &graveyard)) { mnt 3118 fs/namespace.c mnt_flags |= path.mnt->mnt_flags & MNT_ATIME_MASK; mnt 3240 fs/namespace.c new = copy_tree(old, old->mnt.mnt_root, copy_flags); mnt 3265 fs/namespace.c if (&p->mnt == new_fs->root.mnt) { mnt 3266 fs/namespace.c new_fs->root.mnt = mntget(&q->mnt); mnt 3267 fs/namespace.c rootmnt = &p->mnt; mnt 3269 fs/namespace.c if (&p->mnt == new_fs->pwd.mnt) { mnt 3270 fs/namespace.c new_fs->pwd.mnt = mntget(&q->mnt); mnt 3271 fs/namespace.c pwdmnt = &p->mnt; mnt 3278 fs/namespace.c while (p->mnt.mnt_root != q->mnt.mnt_root) mnt 3293 fs/namespace.c struct mount *mnt = real_mount(m); mnt 3304 fs/namespace.c mnt->mnt_ns = ns; mnt 3305 fs/namespace.c ns->root = mnt; mnt 3307 fs/namespace.c list_add(&mnt->mnt_list, &ns->list); mnt 3318 fs/namespace.c s = path.mnt->mnt_sb; mnt 3320 fs/namespace.c mntput(path.mnt); mnt 3379 fs/namespace.c struct mount *mnt; mnt 3455 fs/namespace.c newmount.mnt = vfs_create_mount(fc); mnt 3456 fs/namespace.c if (IS_ERR(newmount.mnt)) { mnt 3457 fs/namespace.c ret = PTR_ERR(newmount.mnt); mnt 3461 fs/namespace.c newmount.mnt->mnt_flags = mnt_flags; mnt 3475 fs/namespace.c mnt = real_mount(newmount.mnt); mnt 3476 fs/namespace.c mnt->mnt_ns = ns; mnt 3477 fs/namespace.c ns->root = mnt; mnt 3479 fs/namespace.c list_add(&mnt->mnt_list, &ns->list); mnt 3480 fs/namespace.c mntget(newmount.mnt); mnt 3487 fs/namespace.c dissolve_on_fput(newmount.mnt); mnt 3571 fs/namespace.c bool is_path_reachable(struct mount *mnt, struct dentry *dentry, mnt 3574 fs/namespace.c while (&mnt->mnt != root->mnt && mnt_has_parent(mnt)) { mnt 3575 fs/namespace.c dentry = mnt->mnt_mountpoint; mnt 3576 fs/namespace.c mnt = mnt->mnt_parent; mnt 3578 fs/namespace.c return &mnt->mnt == root->mnt && is_subdir(dentry, root->dentry); mnt 3585 fs/namespace.c res = is_path_reachable(real_mount(path1->mnt), path1->dentry, path2); mnt 3648 fs/namespace.c new_mnt = real_mount(new.mnt); mnt 3649 fs/namespace.c root_mnt = real_mount(root.mnt); mnt 3650 fs/namespace.c old_mnt = real_mount(old.mnt); mnt 3659 fs/namespace.c if (new_mnt->mnt.mnt_flags & MNT_LOCKED) mnt 3668 fs/namespace.c if (root.mnt->mnt_root != root.dentry) mnt 3672 fs/namespace.c if (new.mnt->mnt_root != new.dentry) mnt 3685 fs/namespace.c if (root_mnt->mnt.mnt_flags & MNT_LOCKED) { mnt 3686 fs/namespace.c new_mnt->mnt.mnt_flags |= MNT_LOCKED; mnt 3687 fs/namespace.c root_mnt->mnt.mnt_flags &= ~MNT_LOCKED; mnt 3717 fs/namespace.c struct vfsmount *mnt; mnt 3722 fs/namespace.c mnt = vfs_kern_mount(&rootfs_fs_type, 0, "rootfs", NULL); mnt 3723 fs/namespace.c if (IS_ERR(mnt)) mnt 3729 fs/namespace.c m = real_mount(mnt); mnt 3737 fs/namespace.c root.mnt = mnt; mnt 3738 fs/namespace.c root.dentry = mnt->mnt_root; mnt 3739 fs/namespace.c mnt->mnt_flags |= MNT_LOCKED; mnt 3784 fs/namespace.c drop_collected_mounts(&ns->root->mnt); mnt 3790 fs/namespace.c struct vfsmount *mnt; mnt 3791 fs/namespace.c mnt = vfs_kern_mount(type, SB_KERNMOUNT, type->name, NULL); mnt 3792 fs/namespace.c if (!IS_ERR(mnt)) { mnt 3797 fs/namespace.c real_mount(mnt)->mnt_ns = MNT_NS_INTERNAL; mnt 3799 fs/namespace.c return mnt; mnt 3803 fs/namespace.c void kern_unmount(struct vfsmount *mnt) mnt 3806 fs/namespace.c if (!IS_ERR_OR_NULL(mnt)) { mnt 3807 fs/namespace.c real_mount(mnt)->mnt_ns = NULL; mnt 3809 fs/namespace.c mntput(mnt); mnt 3814 fs/namespace.c bool our_mnt(struct vfsmount *mnt) mnt 3816 fs/namespace.c return check_mnt(real_mount(mnt)); mnt 3827 fs/namespace.c ns_root.mnt = ¤t->nsproxy->mnt_ns->root->mnt; mnt 3828 fs/namespace.c ns_root.dentry = ns_root.mnt->mnt_root; mnt 3848 fs/namespace.c struct mount *mnt; mnt 3852 fs/namespace.c list_for_each_entry(mnt, &ns->list, mnt_list) { mnt 3856 fs/namespace.c if (mnt->mnt.mnt_sb->s_type != sb->s_type) mnt 3862 fs/namespace.c if (mnt->mnt.mnt_root != mnt->mnt.mnt_sb->s_root) mnt 3866 fs/namespace.c mnt_flags = mnt->mnt.mnt_flags; mnt 3869 fs/namespace.c if (sb_rdonly(mnt->mnt.mnt_sb)) mnt 3886 fs/namespace.c list_for_each_entry(child, &mnt->mnt_mounts, mnt_child) { mnt 3889 fs/namespace.c if (!(child->mnt.mnt_flags & MNT_LOCKED)) mnt 3930 fs/namespace.c bool mnt_may_suid(struct vfsmount *mnt) mnt 3939 fs/namespace.c return !(mnt->mnt_flags & MNT_NOSUID) && check_mnt(real_mount(mnt)) && mnt 3940 fs/namespace.c current_in_userns(mnt->mnt_sb->s_user_ns); mnt 3987 fs/namespace.c err = vfs_path_lookup(mnt_ns->root->mnt.mnt_root, &mnt_ns->root->mnt, mnt 810 fs/nfs/inode.c if ((path->mnt->mnt_flags & MNT_NOATIME) || mnt 811 fs/nfs/inode.c ((path->mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode))) mnt 142 fs/nfs/namespace.c struct vfsmount *mnt; mnt 150 fs/nfs/namespace.c mnt = ERR_PTR(-ENOMEM); mnt 156 fs/nfs/namespace.c mnt = server->nfs_client->rpc_ops->submount(server, path->dentry, fh, fattr); mnt 157 fs/nfs/namespace.c if (IS_ERR(mnt)) mnt 160 fs/nfs/namespace.c mntget(mnt); /* prevent immediate expiration */ mnt 161 fs/nfs/namespace.c mnt_set_expiry(mnt, &nfs_automount_list); mnt 167 fs/nfs/namespace.c return mnt; mnt 241 fs/nfs/namespace.c struct vfsmount *mnt; mnt 250 fs/nfs/namespace.c mnt = ERR_CAST(devname); mnt 252 fs/nfs/namespace.c mnt = nfs_do_clone_mount(NFS_SB(dentry->d_sb), devname, &mountdata); mnt 255 fs/nfs/namespace.c return mnt; mnt 245 fs/nfs/nfs4namespace.c struct vfsmount *mnt = ERR_PTR(-ENOENT); mnt 282 fs/nfs/nfs4namespace.c mnt = vfs_submount(mountdata->dentry, &nfs4_referral_fs_type, page, mountdata); mnt 283 fs/nfs/nfs4namespace.c if (!IS_ERR(mnt)) mnt 287 fs/nfs/nfs4namespace.c return mnt; mnt 299 fs/nfs/nfs4namespace.c struct vfsmount *mnt = ERR_PTR(-ENOENT); mnt 324 fs/nfs/nfs4namespace.c mnt = ERR_PTR(error); mnt 335 fs/nfs/nfs4namespace.c mnt = try_location(&mountdata, page, page2, location); mnt 336 fs/nfs/nfs4namespace.c if (!IS_ERR(mnt)) mnt 343 fs/nfs/nfs4namespace.c return mnt; mnt 353 fs/nfs/nfs4namespace.c struct vfsmount *mnt = ERR_PTR(-ENOMEM); mnt 362 fs/nfs/nfs4namespace.c return mnt; mnt 369 fs/nfs/nfs4namespace.c mnt = ERR_PTR(-ENOENT); mnt 382 fs/nfs/nfs4namespace.c mnt = nfs_follow_referral(dentry, fs_locations); mnt 386 fs/nfs/nfs4namespace.c return mnt; mnt 397 fs/nfs/nfs4namespace.c struct vfsmount *mnt; mnt 406 fs/nfs/nfs4namespace.c mnt = nfs_do_refmount(client, dentry); mnt 412 fs/nfs/nfs4namespace.c mnt = nfs_do_submount(dentry, fh, fattr, flavor); mnt 415 fs/nfs/nfs4namespace.c return mnt; mnt 1011 fs/nfs/super.c static void nfs_validate_transport_protocol(struct nfs_parsed_mount_data *mnt) mnt 1013 fs/nfs/super.c switch (mnt->nfs_server.protocol) { mnt 1019 fs/nfs/super.c mnt->nfs_server.protocol = XPRT_TRANSPORT_TCP; mnt 1027 fs/nfs/super.c static void nfs_set_mount_transport_protocol(struct nfs_parsed_mount_data *mnt) mnt 1029 fs/nfs/super.c nfs_validate_transport_protocol(mnt); mnt 1031 fs/nfs/super.c if (mnt->mount_server.protocol == XPRT_TRANSPORT_UDP || mnt 1032 fs/nfs/super.c mnt->mount_server.protocol == XPRT_TRANSPORT_TCP) mnt 1034 fs/nfs/super.c switch (mnt->nfs_server.protocol) { mnt 1036 fs/nfs/super.c mnt->mount_server.protocol = XPRT_TRANSPORT_UDP; mnt 1040 fs/nfs/super.c mnt->mount_server.protocol = XPRT_TRANSPORT_TCP; mnt 1093 fs/nfs/super.c struct nfs_parsed_mount_data *mnt) mnt 1142 fs/nfs/super.c if (!nfs_auth_info_add(&mnt->auth_info, pseudoflavor)) mnt 1150 fs/nfs/super.c struct nfs_parsed_mount_data *mnt, mnt 1153 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_VER3; mnt 1156 fs/nfs/super.c mnt->version = 2; mnt 1159 fs/nfs/super.c mnt->flags |= NFS_MOUNT_VER3; mnt 1160 fs/nfs/super.c mnt->version = 3; mnt 1167 fs/nfs/super.c mnt->version = 4; mnt 1170 fs/nfs/super.c mnt->version = 4; mnt 1171 fs/nfs/super.c mnt->minorversion = 0; mnt 1174 fs/nfs/super.c mnt->version = 4; mnt 1175 fs/nfs/super.c mnt->minorversion = 1; mnt 1178 fs/nfs/super.c mnt->version = 4; mnt 1179 fs/nfs/super.c mnt->minorversion = 2; mnt 1228 fs/nfs/super.c struct nfs_parsed_mount_data *mnt) mnt 1241 fs/nfs/super.c rc = security_sb_eat_lsm_opts(raw, &mnt->lsm_opts); mnt 1262 fs/nfs/super.c mnt->flags |= NFS_MOUNT_SOFT; mnt 1263 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_SOFTERR; mnt 1266 fs/nfs/super.c mnt->flags |= NFS_MOUNT_SOFTERR; mnt 1267 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_SOFT; mnt 1270 fs/nfs/super.c mnt->flags &= ~(NFS_MOUNT_SOFT|NFS_MOUNT_SOFTERR); mnt 1273 fs/nfs/super.c mnt->flags |= NFS_MOUNT_POSIX; mnt 1276 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_POSIX; mnt 1279 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_NOCTO; mnt 1282 fs/nfs/super.c mnt->flags |= NFS_MOUNT_NOCTO; mnt 1285 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_NOAC; mnt 1288 fs/nfs/super.c mnt->flags |= NFS_MOUNT_NOAC; mnt 1291 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_NONLM; mnt 1292 fs/nfs/super.c mnt->flags &= ~(NFS_MOUNT_LOCAL_FLOCK | mnt 1296 fs/nfs/super.c mnt->flags |= NFS_MOUNT_NONLM; mnt 1297 fs/nfs/super.c mnt->flags |= (NFS_MOUNT_LOCAL_FLOCK | mnt 1301 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_TCP; mnt 1302 fs/nfs/super.c mnt->nfs_server.protocol = XPRT_TRANSPORT_UDP; mnt 1305 fs/nfs/super.c mnt->flags |= NFS_MOUNT_TCP; mnt 1306 fs/nfs/super.c mnt->nfs_server.protocol = XPRT_TRANSPORT_TCP; mnt 1309 fs/nfs/super.c mnt->flags |= NFS_MOUNT_TCP; /* for side protocols */ mnt 1310 fs/nfs/super.c mnt->nfs_server.protocol = XPRT_TRANSPORT_RDMA; mnt 1314 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_NOACL; mnt 1317 fs/nfs/super.c mnt->flags |= NFS_MOUNT_NOACL; mnt 1320 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_NORDIRPLUS; mnt 1323 fs/nfs/super.c mnt->flags |= NFS_MOUNT_NORDIRPLUS; mnt 1326 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_UNSHARED; mnt 1329 fs/nfs/super.c mnt->flags |= NFS_MOUNT_UNSHARED; mnt 1332 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_NORESVPORT; mnt 1335 fs/nfs/super.c mnt->flags |= NFS_MOUNT_NORESVPORT; mnt 1338 fs/nfs/super.c mnt->options |= NFS_OPTION_FSCACHE; mnt 1339 fs/nfs/super.c kfree(mnt->fscache_uniq); mnt 1340 fs/nfs/super.c mnt->fscache_uniq = NULL; mnt 1343 fs/nfs/super.c mnt->options &= ~NFS_OPTION_FSCACHE; mnt 1344 fs/nfs/super.c kfree(mnt->fscache_uniq); mnt 1345 fs/nfs/super.c mnt->fscache_uniq = NULL; mnt 1348 fs/nfs/super.c mnt->options |= NFS_OPTION_MIGRATION; mnt 1351 fs/nfs/super.c mnt->options &= ~NFS_OPTION_MIGRATION; mnt 1361 fs/nfs/super.c mnt->nfs_server.port = option; mnt 1366 fs/nfs/super.c mnt->rsize = option; mnt 1371 fs/nfs/super.c mnt->wsize = option; mnt 1376 fs/nfs/super.c mnt->bsize = option; mnt 1381 fs/nfs/super.c mnt->timeo = option; mnt 1386 fs/nfs/super.c mnt->retrans = option; mnt 1391 fs/nfs/super.c mnt->acregmin = option; mnt 1396 fs/nfs/super.c mnt->acregmax = option; mnt 1401 fs/nfs/super.c mnt->acdirmin = option; mnt 1406 fs/nfs/super.c mnt->acdirmax = option; mnt 1411 fs/nfs/super.c mnt->acregmin = mnt->acregmax = mnt 1412 fs/nfs/super.c mnt->acdirmin = mnt->acdirmax = option; mnt 1417 fs/nfs/super.c mnt->namlen = option; mnt 1423 fs/nfs/super.c mnt->mount_server.port = option; mnt 1430 fs/nfs/super.c mnt->mount_server.version = option; mnt 1437 fs/nfs/super.c mnt->minorversion = option; mnt 1447 fs/nfs/super.c rc = nfs_parse_version_string(string, mnt, args); mnt 1456 fs/nfs/super.c rc = nfs_parse_security_flavors(string, mnt); mnt 1477 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_TCP; mnt 1478 fs/nfs/super.c mnt->nfs_server.protocol = XPRT_TRANSPORT_UDP; mnt 1484 fs/nfs/super.c mnt->flags |= NFS_MOUNT_TCP; mnt 1485 fs/nfs/super.c mnt->nfs_server.protocol = XPRT_TRANSPORT_TCP; mnt 1492 fs/nfs/super.c mnt->flags |= NFS_MOUNT_TCP; mnt 1493 fs/nfs/super.c mnt->nfs_server.protocol = XPRT_TRANSPORT_RDMA; mnt 1518 fs/nfs/super.c mnt->mount_server.protocol = XPRT_TRANSPORT_UDP; mnt 1524 fs/nfs/super.c mnt->mount_server.protocol = XPRT_TRANSPORT_TCP; mnt 1537 fs/nfs/super.c mnt->nfs_server.addrlen = mnt 1538 fs/nfs/super.c rpc_pton(mnt->net, string, strlen(string), mnt 1540 fs/nfs/super.c &mnt->nfs_server.address, mnt 1541 fs/nfs/super.c sizeof(mnt->nfs_server.address)); mnt 1543 fs/nfs/super.c if (mnt->nfs_server.addrlen == 0) mnt 1547 fs/nfs/super.c if (nfs_get_option_str(args, &mnt->client_address)) mnt 1552 fs/nfs/super.c &mnt->mount_server.hostname)) mnt 1559 fs/nfs/super.c mnt->mount_server.addrlen = mnt 1560 fs/nfs/super.c rpc_pton(mnt->net, string, strlen(string), mnt 1562 fs/nfs/super.c &mnt->mount_server.address, mnt 1563 fs/nfs/super.c sizeof(mnt->mount_server.address)); mnt 1565 fs/nfs/super.c if (mnt->mount_server.addrlen == 0) mnt 1571 fs/nfs/super.c mnt->nfs_server.nconnect = option; mnt 1582 fs/nfs/super.c mnt->flags &= ~(NFS_MOUNT_LOOKUP_CACHE_NONEG|NFS_MOUNT_LOOKUP_CACHE_NONE); mnt 1585 fs/nfs/super.c mnt->flags &= ~NFS_MOUNT_LOOKUP_CACHE_NONE; mnt 1586 fs/nfs/super.c mnt->flags |= NFS_MOUNT_LOOKUP_CACHE_NONEG; mnt 1589 fs/nfs/super.c mnt->flags |= NFS_MOUNT_LOOKUP_CACHE_NONEG|NFS_MOUNT_LOOKUP_CACHE_NONE; mnt 1598 fs/nfs/super.c if (nfs_get_option_str(args, &mnt->fscache_uniq)) mnt 1600 fs/nfs/super.c mnt->options |= NFS_OPTION_FSCACHE; mnt 1611 fs/nfs/super.c mnt->flags |= (NFS_MOUNT_LOCAL_FLOCK | mnt 1615 fs/nfs/super.c mnt->flags |= NFS_MOUNT_LOCAL_FLOCK; mnt 1618 fs/nfs/super.c mnt->flags |= NFS_MOUNT_LOCAL_FCNTL; mnt 1621 fs/nfs/super.c mnt->flags &= ~(NFS_MOUNT_LOCAL_FLOCK | mnt 1654 fs/nfs/super.c if (mnt->minorversion && mnt->version != 4) mnt 1657 fs/nfs/super.c if (mnt->options & NFS_OPTION_MIGRATION && mnt 1658 fs/nfs/super.c (mnt->version != 4 || mnt->minorversion != 0)) mnt 1666 fs/nfs/super.c protofamily != mnt->nfs_server.address.ss_family) mnt 1670 fs/nfs/super.c if (mnt->mount_server.addrlen) { mnt 1671 fs/nfs/super.c if (mountfamily != mnt->mount_server.address.ss_family) mnt 1674 fs/nfs/super.c if (mountfamily != mnt->nfs_server.address.ss_family) mnt 1696 fs/nfs/super.c "minorversion=%u\n", mnt->version, mnt->minorversion); mnt 408 fs/nfsd/blocklayout.c struct block_device *bdev = ls->ls_file->nf_file->f_path.mnt->mnt_sb->s_bdev; mnt 786 fs/nfsd/export.c hash ^= hash_ptr(exp->ex_path.mnt, EXPORT_HASHBITS); mnt 130 fs/nfsd/nfs4layouts.c struct super_block *sb = exp->ex_path.mnt->mnt_sb; mnt 629 fs/nfsd/nfs4layouts.c argv[2] = ls->ls_file->nf_file->f_path.mnt->mnt_sb->s_id; mnt 1581 fs/nfsd/nfs4proc.c nfserr = ops->proc_getdeviceinfo(exp->ex_path.mnt->mnt_sb, mnt 2163 fs/nfsd/nfs4xdr.c if (cur.dentry == cur.mnt->mnt_root) { mnt 2356 fs/nfsd/nfs4xdr.c if (path.dentry != path.mnt->mnt_root) mnt 2431 fs/nfsd/nfs4xdr.c .mnt = exp->ex_path.mnt, mnt 2732 fs/nfsd/nfs4xdr.c p = xdr_encode_hyper(p, exp->ex_path.mnt->mnt_sb->s_maxbytes); mnt 2860 fs/nfsd/nfs4xdr.c dentry == exp->ex_path.mnt->mnt_root) { mnt 1455 fs/nfsd/nfsctl.c struct vfsmount *mnt; mnt 1482 fs/nfsd/nfsctl.c mnt = vfs_kern_mount(&nfsd_fs_type, SB_KERNMOUNT, "nfsd", NULL); mnt 1483 fs/nfsd/nfsctl.c if (IS_ERR(mnt)) { mnt 1484 fs/nfsd/nfsctl.c retval = PTR_ERR(mnt); mnt 1487 fs/nfsd/nfsctl.c nn->nfsd_mnt = mnt; mnt 267 fs/nfsd/nfsfh.c dentry = exportfs_decode_fh(exp->ex_path.mnt, fid, mnt 64 fs/nfsd/vfs.c struct path path = {.mnt = mntget(exp->ex_path.mnt), mnt 71 fs/nfsd/vfs.c if (path.mnt == exp->ex_path.mnt && path.dentry == dentry && mnt 117 fs/nfsd/vfs.c while (path->dentry == path->mnt->mnt_root && follow_up(path)) mnt 127 fs/nfsd/vfs.c struct path path = {.mnt = mntget((*exp)->ex_path.mnt), mnt 717 fs/nfsd/vfs.c path.mnt = fhp->fh_export->ex_path.mnt; mnt 1487 fs/nfsd/vfs.c path.mnt = fhp->fh_export->ex_path.mnt; mnt 1721 fs/nfsd/vfs.c if (ffhp->fh_export->ex_path.mnt != tfhp->fh_export->ex_path.mnt) mnt 1996 fs/nfsd/vfs.c .mnt = fhp->fh_export->ex_path.mnt, mnt 2035 fs/nfsd/vfs.c __mnt_is_readonly(exp->ex_path.mnt)? " ro" : ""); mnt 2047 fs/nfsd/vfs.c __mnt_is_readonly(exp->ex_path.mnt)) mnt 127 fs/nfsd/vfs.h ret = mnt_want_write(fh->fh_export->ex_path.mnt); mnt 137 fs/nfsd/vfs.h mnt_drop_write(fh->fh_export->ex_path.mnt); mnt 143 fs/nfsd/vfs.h struct path p = {.mnt = fh->fh_export->ex_path.mnt, mnt 34 fs/notify/fanotify/fanotify.c return old->path.mnt == new->path.mnt && mnt 344 fs/notify/fanotify/fanotify.c event->path.mnt = NULL; mnt 118 fs/notify/fanotify/fanotify_user.c if (event->path.dentry && event->path.mnt) mnt 635 fs/notify/fanotify/fanotify_user.c struct vfsmount *mnt, __u32 mask, mnt 638 fs/notify/fanotify/fanotify_user.c return fanotify_remove_mark(group, &real_mount(mnt)->mnt_fsnotify_marks, mnt 730 fs/notify/fanotify/fanotify_user.c struct vfsmount *mnt, __u32 mask, mnt 733 fs/notify/fanotify/fanotify_user.c return fanotify_add_mark(group, &real_mount(mnt)->mnt_fsnotify_marks, mnt 942 fs/notify/fanotify/fanotify_user.c path->mnt->mnt_sb->s_type->fs_flags & FS_DISALLOW_NOTIFY_PERM) mnt 951 fs/notify/fanotify/fanotify_user.c struct vfsmount *mnt = NULL; mnt 1070 fs/notify/fanotify/fanotify_user.c mnt = path.mnt; mnt 1076 fs/notify/fanotify/fanotify_user.c ret = fanotify_add_vfsmount_mark(group, mnt, mask, mnt 1079 fs/notify/fanotify/fanotify_user.c ret = fanotify_add_sb_mark(group, mnt->mnt_sb, mask, mnt 1087 fs/notify/fanotify/fanotify_user.c ret = fanotify_remove_vfsmount_mark(group, mnt, mask, mnt 1090 fs/notify/fanotify/fanotify_user.c ret = fanotify_remove_sb_mark(group, mnt->mnt_sb, mask, mnt 131 fs/notify/fdinfo.c struct mount *mnt = fsnotify_conn_mount(mark->connector); mnt 134 fs/notify/fdinfo.c mnt->mnt_id, mflags, mark->mask, mark->ignored_mask); mnt 26 fs/notify/fsnotify.c void __fsnotify_vfsmount_delete(struct vfsmount *mnt) mnt 28 fs/notify/fsnotify.c fsnotify_clear_marks_by_mount(mnt); mnt 323 fs/notify/fsnotify.c struct mount *mnt = NULL; mnt 329 fs/notify/fsnotify.c mnt = real_mount(((const struct path *)data)->mnt); mnt 330 fs/notify/fsnotify.c mnt_or_sb_mask |= mnt->mnt_fsnotify_mask; mnt 344 fs/notify/fsnotify.c (!mnt || !mnt->mnt_fsnotify_marks)) mnt 361 fs/notify/fsnotify.c if (mnt) { mnt 363 fs/notify/fsnotify.c fsnotify_first_mark(&mnt->mnt_fsnotify_marks); mnt 48 fs/notify/fsnotify.h static inline void fsnotify_clear_marks_by_mount(struct vfsmount *mnt) mnt 50 fs/notify/fsnotify.h fsnotify_destroy_marks(&real_mount(mnt)->mnt_fsnotify_marks); mnt 57 fs/nsfs.c struct vfsmount *mnt = nsfs_mnt; mnt 72 fs/nsfs.c path->mnt = mntget(mnt); mnt 77 fs/nsfs.c inode = new_inode_pseudo(mnt->mnt_sb); mnt 89 fs/nsfs.c dentry = d_alloc_anon(mnt->mnt_sb); mnt 1934 fs/ocfs2/dir.c error = ocfs2_inode_lock_atime(inode, file->f_path.mnt, &lock_level, 1); mnt 2486 fs/ocfs2/file.c ret = ocfs2_inode_lock_atime(inode, filp->f_path.mnt, &lock_level, mnt 169 fs/ocfs2/mmap.c file->f_path.mnt, &lock_level, 1); mnt 4444 fs/ocfs2/refcounttree.c if (old_path.mnt != new_path.mnt) { mnt 82 fs/open.c error = mnt_want_write(path->mnt); mnt 115 fs/open.c mnt_drop_write(path->mnt); mnt 428 fs/open.c if (__mnt_is_readonly(path.mnt)) mnt 551 fs/open.c error = mnt_want_write(path->mnt); mnt 569 fs/open.c mnt_drop_write(path->mnt); mnt 679 fs/open.c error = mnt_want_write(path.mnt); mnt 683 fs/open.c mnt_drop_write(path.mnt); mnt 766 fs/open.c error = __mnt_want_write(f->f_path.mnt); mnt 837 fs/open.c __mnt_drop_write(f->f_path.mnt); mnt 841 fs/open.c f->f_path.mnt = NULL; mnt 923 fs/open.c BUG_ON(!path->mnt); mnt 1068 fs/open.c struct file *file_open_root(struct dentry *dentry, struct vfsmount *mnt, mnt 1075 fs/open.c return do_file_open_root(dentry, mnt, filename, &op); mnt 436 fs/overlayfs/export.c struct ovl_layer upper_layer = { .mnt = ofs->upper_mnt }; mnt 504 fs/overlayfs/export.c if (real == layer->mnt->mnt_root) mnt 520 fs/overlayfs/export.c if (parent == layer->mnt->mnt_root) { mnt 586 fs/overlayfs/export.c if (parent == layer->mnt->mnt_root) { mnt 658 fs/overlayfs/export.c struct ovl_layer upper_layer = { .mnt = ofs->upper_mnt }; mnt 451 fs/overlayfs/inode.c .mnt = ofs->upper_mnt, mnt 151 fs/overlayfs/namei.c struct dentry *ovl_decode_real_fh(struct ovl_fh *fh, struct vfsmount *mnt, mnt 161 fs/overlayfs/namei.c if (!uuid_equal(&fh->uuid, &mnt->mnt_sb->s_uuid)) mnt 165 fs/overlayfs/namei.c real = exportfs_decode_fh(mnt, (struct fid *)fh->fid, mnt 167 fs/overlayfs/namei.c connected ? ovl_acceptable : NULL, mnt); mnt 336 fs/overlayfs/namei.c origin = ovl_decode_real_fh(fh, ofs->lower_layers[i].mnt, mnt 787 fs/overlayfs/namei.c path->mnt = oe->lowerstack[idx - 1].layer->mnt; mnt 306 fs/overlayfs/overlayfs.h struct dentry *ovl_decode_real_fh(struct ovl_fh *fh, struct vfsmount *mnt, mnt 342 fs/overlayfs/overlayfs.h void ovl_workdir_cleanup(struct inode *dir, struct vfsmount *mnt, mnt 30 fs/overlayfs/ovl_entry.h struct vfsmount *mnt; mnt 1055 fs/overlayfs/readdir.c ovl_workdir_cleanup(dir, path->mnt, dentry, level); mnt 1063 fs/overlayfs/readdir.c void ovl_workdir_cleanup(struct inode *dir, struct vfsmount *mnt, mnt 1075 fs/overlayfs/readdir.c struct path path = { .mnt = mnt, .dentry = dentry }; mnt 1090 fs/overlayfs/readdir.c struct path path = { .mnt = ofs->upper_mnt, .dentry = indexdir }; mnt 229 fs/overlayfs/super.c mntput(ofs->lower_layers[i].mnt); mnt 618 fs/overlayfs/super.c struct vfsmount *mnt = ofs->upper_mnt; mnt 645 fs/overlayfs/super.c ovl_workdir_cleanup(dir, mnt, work, 0); mnt 793 fs/overlayfs/super.c *stack_depth = max(*stack_depth, path->mnt->mnt_sb->s_stack_depth); mnt 1037 fs/overlayfs/super.c if (sb_rdonly(upperpath->mnt->mnt_sb)) { mnt 1079 fs/overlayfs/super.c struct vfsmount *mnt = ofs->upper_mnt; mnt 1084 fs/overlayfs/super.c err = mnt_want_write(mnt); mnt 1152 fs/overlayfs/super.c mnt_drop_write(mnt); mnt 1167 fs/overlayfs/super.c if (upperpath->mnt != workpath.mnt) { mnt 1202 fs/overlayfs/super.c struct vfsmount *mnt = ofs->upper_mnt; mnt 1205 fs/overlayfs/super.c err = mnt_want_write(mnt); mnt 1250 fs/overlayfs/super.c mnt_drop_write(mnt); mnt 1280 fs/overlayfs/super.c struct super_block *sb = path->mnt->mnt_sb; mnt 1339 fs/overlayfs/super.c struct vfsmount *mnt; mnt 1357 fs/overlayfs/super.c mnt = clone_private_mount(&stack[i]); mnt 1358 fs/overlayfs/super.c err = PTR_ERR(mnt); mnt 1359 fs/overlayfs/super.c if (IS_ERR(mnt)) { mnt 1369 fs/overlayfs/super.c mnt->mnt_flags |= MNT_READONLY | MNT_NOATIME; mnt 1372 fs/overlayfs/super.c ofs->lower_layers[ofs->numlower].mnt = mnt; mnt 1560 fs/overlayfs/super.c ofs->lower_layers[i].mnt->mnt_root, mnt 1691 fs/overlayfs/super.c mntput(upperpath.mnt); mnt 149 fs/overlayfs/util.c path->mnt = ofs->upper_mnt; mnt 158 fs/overlayfs/util.c path->mnt = oe->lowerstack[0].layer->mnt; mnt 170 fs/overlayfs/util.c path->mnt = oe->lowerstack[oe->numlower - 1].layer->mnt; mnt 37 fs/pnode.c static struct mount *get_peer_under_root(struct mount *mnt, mnt 41 fs/pnode.c struct mount *m = mnt; mnt 45 fs/pnode.c if (m->mnt_ns == ns && is_path_reachable(m, m->mnt.mnt_root, root)) mnt 49 fs/pnode.c } while (m != mnt); mnt 60 fs/pnode.c int get_dominating_id(struct mount *mnt, const struct path *root) mnt 64 fs/pnode.c for (m = mnt->mnt_master; m != NULL; m = m->mnt_master) { mnt 65 fs/pnode.c struct mount *d = get_peer_under_root(m, mnt->mnt_ns, root); mnt 73 fs/pnode.c static int do_make_slave(struct mount *mnt) mnt 77 fs/pnode.c if (list_empty(&mnt->mnt_share)) { mnt 78 fs/pnode.c if (IS_MNT_SHARED(mnt)) { mnt 79 fs/pnode.c mnt_release_group_id(mnt); mnt 80 fs/pnode.c CLEAR_MNT_SHARED(mnt); mnt 82 fs/pnode.c master = mnt->mnt_master; mnt 84 fs/pnode.c struct list_head *p = &mnt->mnt_slave_list; mnt 100 fs/pnode.c for (m = master = next_peer(mnt); m != mnt; m = next_peer(m)) { mnt 101 fs/pnode.c if (m->mnt.mnt_root == mnt->mnt.mnt_root) { mnt 106 fs/pnode.c list_del_init(&mnt->mnt_share); mnt 107 fs/pnode.c mnt->mnt_group_id = 0; mnt 108 fs/pnode.c CLEAR_MNT_SHARED(mnt); mnt 110 fs/pnode.c list_for_each_entry(slave_mnt, &mnt->mnt_slave_list, mnt_slave) mnt 112 fs/pnode.c list_move(&mnt->mnt_slave, &master->mnt_slave_list); mnt 113 fs/pnode.c list_splice(&mnt->mnt_slave_list, master->mnt_slave_list.prev); mnt 114 fs/pnode.c INIT_LIST_HEAD(&mnt->mnt_slave_list); mnt 115 fs/pnode.c mnt->mnt_master = master; mnt 122 fs/pnode.c void change_mnt_propagation(struct mount *mnt, int type) mnt 125 fs/pnode.c set_mnt_shared(mnt); mnt 128 fs/pnode.c do_make_slave(mnt); mnt 130 fs/pnode.c list_del_init(&mnt->mnt_slave); mnt 131 fs/pnode.c mnt->mnt_master = NULL; mnt 133 fs/pnode.c mnt->mnt.mnt_flags |= MNT_UNBINDABLE; mnt 135 fs/pnode.c mnt->mnt.mnt_flags &= ~MNT_UNBINDABLE; mnt 233 fs/pnode.c if (!is_subdir(mp->m_dentry, m->mnt.mnt_root)) mnt 261 fs/pnode.c child = copy_tree(last_source, last_source->mnt.mnt_root, type); mnt 336 fs/pnode.c static struct mount *find_topper(struct mount *mnt) mnt 341 fs/pnode.c if (!list_is_singular(&mnt->mnt_mounts)) mnt 344 fs/pnode.c child = list_first_entry(&mnt->mnt_mounts, struct mount, mnt_child); mnt 345 fs/pnode.c if (child->mnt_mountpoint != mnt->mnt.mnt_root) mnt 354 fs/pnode.c static inline int do_refcount_check(struct mount *mnt, int count) mnt 356 fs/pnode.c return mnt_get_count(mnt) > count; mnt 369 fs/pnode.c int propagate_mount_busy(struct mount *mnt, int refcnt) mnt 372 fs/pnode.c struct mount *parent = mnt->mnt_parent; mnt 374 fs/pnode.c if (mnt == parent) mnt 375 fs/pnode.c return do_refcount_check(mnt, refcnt); mnt 382 fs/pnode.c if (!list_empty(&mnt->mnt_mounts) || do_refcount_check(mnt, refcnt)) mnt 388 fs/pnode.c child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); mnt 412 fs/pnode.c void propagate_mount_unlock(struct mount *mnt) mnt 414 fs/pnode.c struct mount *parent = mnt->mnt_parent; mnt 417 fs/pnode.c BUG_ON(parent == mnt); mnt 421 fs/pnode.c child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); mnt 423 fs/pnode.c child->mnt.mnt_flags &= ~MNT_LOCKED; mnt 427 fs/pnode.c static void umount_one(struct mount *mnt, struct list_head *to_umount) mnt 429 fs/pnode.c CLEAR_MNT_MARK(mnt); mnt 430 fs/pnode.c mnt->mnt.mnt_flags |= MNT_UMOUNT; mnt 431 fs/pnode.c list_del_init(&mnt->mnt_child); mnt 432 fs/pnode.c list_del_init(&mnt->mnt_umounting); mnt 433 fs/pnode.c list_move_tail(&mnt->mnt_list, to_umount); mnt 440 fs/pnode.c static bool __propagate_umount(struct mount *mnt, mnt 451 fs/pnode.c if (mnt->mnt.mnt_flags & (MNT_UMOUNT | MNT_MARKED)) mnt 457 fs/pnode.c list_for_each_entry(child, &mnt->mnt_mounts, mnt_child) { mnt 458 fs/pnode.c if (child->mnt_mountpoint == mnt->mnt.mnt_root) mnt 467 fs/pnode.c SET_MNT_MARK(mnt); mnt 471 fs/pnode.c if (!IS_MNT_LOCKED(mnt)) { mnt 472 fs/pnode.c umount_one(mnt, to_umount); mnt 475 fs/pnode.c list_move_tail(&mnt->mnt_umounting, to_restore); mnt 484 fs/pnode.c struct mount *mnt, *child, *tmp; mnt 485 fs/pnode.c list_for_each_entry(mnt, to_umount, mnt_list) { mnt 486 fs/pnode.c list_for_each_entry_safe(child, tmp, &mnt->mnt_mounts, mnt_child) { mnt 488 fs/pnode.c if (child->mnt_mountpoint == mnt->mnt.mnt_root) mnt 500 fs/pnode.c struct mount *mnt, *parent; mnt 503 fs/pnode.c mnt = list_first_entry(to_restore, struct mount, mnt_umounting); mnt 504 fs/pnode.c CLEAR_MNT_MARK(mnt); mnt 505 fs/pnode.c list_del_init(&mnt->mnt_umounting); mnt 508 fs/pnode.c mp = mnt->mnt_mp; mnt 509 fs/pnode.c parent = mnt->mnt_parent; mnt 510 fs/pnode.c while (parent->mnt.mnt_flags & MNT_UMOUNT) { mnt 514 fs/pnode.c if (parent != mnt->mnt_parent) mnt 515 fs/pnode.c mnt_change_mountpoint(parent, mp, mnt); mnt 522 fs/pnode.c struct mount *mnt = mnt 524 fs/pnode.c list_del_init(&mnt->mnt_umounting); mnt 537 fs/pnode.c struct mount *mnt; mnt 543 fs/pnode.c list_for_each_entry_reverse(mnt, list, mnt_list) { mnt 544 fs/pnode.c struct mount *parent = mnt->mnt_parent; mnt 553 fs/pnode.c if (!list_empty(&mnt->mnt_umounting)) mnt 556 fs/pnode.c list_add_tail(&mnt->mnt_umounting, &visited); mnt 559 fs/pnode.c struct mount *child = __lookup_mnt(&m->mnt, mnt 560 fs/pnode.c mnt->mnt_mountpoint); mnt 574 fs/pnode.c } else if (child->mnt.mnt_flags & MNT_UMOUNT) { mnt 13 fs/pnode.h #define IS_MNT_SHARED(m) ((m)->mnt.mnt_flags & MNT_SHARED) mnt 16 fs/pnode.h #define CLEAR_MNT_SHARED(m) ((m)->mnt.mnt_flags &= ~MNT_SHARED) mnt 17 fs/pnode.h #define IS_MNT_UNBINDABLE(m) ((m)->mnt.mnt_flags & MNT_UNBINDABLE) mnt 18 fs/pnode.h #define IS_MNT_MARKED(m) ((m)->mnt.mnt_flags & MNT_MARKED) mnt 19 fs/pnode.h #define SET_MNT_MARK(m) ((m)->mnt.mnt_flags |= MNT_MARKED) mnt 20 fs/pnode.h #define CLEAR_MNT_MARK(m) ((m)->mnt.mnt_flags &= ~MNT_MARKED) mnt 21 fs/pnode.h #define IS_MNT_LOCKED(m) ((m)->mnt.mnt_flags & MNT_LOCKED) mnt 33 fs/pnode.h static inline void set_mnt_shared(struct mount *mnt) mnt 35 fs/pnode.h mnt->mnt.mnt_flags &= ~MNT_SHARED_MASK; mnt 36 fs/pnode.h mnt->mnt.mnt_flags |= MNT_SHARED; mnt 46 fs/pnode.h int get_dominating_id(struct mount *mnt, const struct path *root); mnt 47 fs/pnode.h unsigned int mnt_get_count(struct mount *mnt); mnt 51 fs/pnode.h struct mount *mnt); mnt 55 fs/pnode.h int count_mounts(struct mnt_namespace *ns, struct mount *mnt); mnt 3136 fs/proc/base.c static void proc_flush_task_mnt(struct vfsmount *mnt, pid_t pid, pid_t tgid) mnt 3145 fs/proc/base.c dentry = d_hash_and_lookup(mnt->mnt_root, &name); mnt 3156 fs/proc/base.c leader = d_hash_and_lookup(mnt->mnt_root, &name); mnt 58 fs/proc/fd.c real_mount(file->f_path.mnt)->mnt_id); mnt 305 fs/proc/root.c struct vfsmount *mnt; mnt 323 fs/proc/root.c mnt = fc_mount(fc); mnt 325 fs/proc/root.c if (IS_ERR(mnt)) mnt 326 fs/proc/root.c return PTR_ERR(mnt); mnt 328 fs/proc/root.c ns->proc_mnt = mnt; mnt 64 fs/proc_namespace.c static void show_mnt_opts(struct seq_file *m, struct vfsmount *mnt) mnt 78 fs/proc_namespace.c if (mnt->mnt_flags & fs_infop->flag) mnt 97 fs/proc_namespace.c static int show_vfsmnt(struct seq_file *m, struct vfsmount *mnt) mnt 100 fs/proc_namespace.c struct mount *r = real_mount(mnt); mnt 101 fs/proc_namespace.c struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; mnt 119 fs/proc_namespace.c seq_puts(m, __mnt_is_readonly(mnt) ? " ro" : " rw"); mnt 123 fs/proc_namespace.c show_mnt_opts(m, mnt); mnt 131 fs/proc_namespace.c static int show_mountinfo(struct seq_file *m, struct vfsmount *mnt) mnt 134 fs/proc_namespace.c struct mount *r = real_mount(mnt); mnt 135 fs/proc_namespace.c struct super_block *sb = mnt->mnt_sb; mnt 136 fs/proc_namespace.c struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; mnt 142 fs/proc_namespace.c err = sb->s_op->show_path(m, mnt->mnt_root); mnt 146 fs/proc_namespace.c seq_dentry(m, mnt->mnt_root, " \t\n\\"); mnt 155 fs/proc_namespace.c seq_puts(m, mnt->mnt_flags & MNT_READONLY ? " ro" : " rw"); mnt 156 fs/proc_namespace.c show_mnt_opts(m, mnt); mnt 176 fs/proc_namespace.c err = sb->s_op->show_devname(m, mnt->mnt_root); mnt 187 fs/proc_namespace.c err = sb->s_op->show_options(m, mnt->mnt_root); mnt 193 fs/proc_namespace.c static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) mnt 196 fs/proc_namespace.c struct mount *r = real_mount(mnt); mnt 197 fs/proc_namespace.c struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; mnt 2120 fs/read_write.c if (src_file->f_path.mnt != dst_file->f_path.mnt) mnt 47 fs/statfs.c static int calculate_f_flags(struct vfsmount *mnt) mnt 49 fs/statfs.c return ST_VALID | flags_by_mnt(mnt->mnt_flags) | mnt 50 fs/statfs.c flags_by_sb(mnt->mnt_sb->s_flags); mnt 90 fs/statfs.c buf->f_flags = calculate_f_flags(path->mnt); mnt 26 fs/utimes.c error = mnt_want_write(path->mnt); mnt 68 fs/utimes.c mnt_drop_write(path->mnt); mnt 468 fs/xattr.c error = mnt_want_write(path.mnt); mnt 471 fs/xattr.c mnt_drop_write(path.mnt); mnt 703 fs/xattr.c error = mnt_want_write(path.mnt); mnt 706 fs/xattr.c mnt_drop_write(path.mnt); mnt 166 fs/xfs/xfs_ioctl.c return exportfs_decode_fh(parfilp->f_path.mnt, (struct fid *)&fid, 3, mnt 237 fs/xfs/xfs_ioctl.c path.mnt = parfilp->f_path.mnt; mnt 217 include/linux/exportfs.h extern struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid, mnt 2266 include/linux/fs.h extern struct dentry *mount_subtree(struct vfsmount *mnt, const char *path); mnt 2312 include/linux/fs.h extern void kern_unmount(struct vfsmount *mnt); mnt 2326 include/linux/fs.h extern bool our_mnt(struct vfsmount *mnt); mnt 149 include/linux/fsnotify.h static inline void fsnotify_vfsmount_delete(struct vfsmount *mnt) mnt 151 include/linux/fsnotify.h __fsnotify_vfsmount_delete(mnt); mnt 357 include/linux/fsnotify_backend.h extern void __fsnotify_vfsmount_delete(struct vfsmount *mnt); mnt 524 include/linux/fsnotify_backend.h static inline void __fsnotify_vfsmount_delete(struct vfsmount *mnt) mnt 1505 include/linux/lsm_hooks.h int (*sb_umount)(struct vfsmount *mnt, int flags); mnt 77 include/linux/mount.h extern int mnt_want_write(struct vfsmount *mnt); mnt 79 include/linux/mount.h extern int mnt_clone_write(struct vfsmount *mnt); mnt 80 include/linux/mount.h extern void mnt_drop_write(struct vfsmount *mnt); mnt 82 include/linux/mount.h extern void mntput(struct vfsmount *mnt); mnt 83 include/linux/mount.h extern struct vfsmount *mntget(struct vfsmount *mnt); mnt 85 include/linux/mount.h extern bool __mnt_is_readonly(struct vfsmount *mnt); mnt 86 include/linux/mount.h extern bool mnt_may_suid(struct vfsmount *mnt); mnt 103 include/linux/mount.h extern void mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list); mnt 9 include/linux/path.h struct vfsmount *mnt; mnt 18 include/linux/path.h return path1->mnt == path2->mnt && path1->dentry == path2->dentry; mnt 294 include/linux/security.h int security_sb_umount(struct vfsmount *mnt, int flags); mnt 643 include/linux/security.h static inline int security_sb_umount(struct vfsmount *mnt, int flags) mnt 59 include/linux/shmem_fs.h extern struct file *shmem_file_setup_with_mnt(struct vfsmount *mnt, mnt 399 ipc/mqueue.c struct vfsmount *mnt; mnt 411 ipc/mqueue.c mnt = fc_mount(fc); mnt 413 ipc/mqueue.c return mnt; mnt 818 ipc/mqueue.c struct vfsmount *mnt = current->nsproxy->ipc_ns->mq_mnt; mnt 819 ipc/mqueue.c struct dentry *root = mnt->mnt_root; mnt 834 ipc/mqueue.c ro = mnt_want_write(mnt); /* we'll drop it in any case */ mnt 841 ipc/mqueue.c path.mnt = mntget(mnt); mnt 858 ipc/mqueue.c mnt_drop_write(mnt); mnt 881 ipc/mqueue.c struct vfsmount *mnt = ipc_ns->mq_mnt; mnt 887 ipc/mqueue.c audit_inode_parent_hidden(name, mnt->mnt_root); mnt 888 ipc/mqueue.c err = mnt_want_write(mnt); mnt 891 ipc/mqueue.c inode_lock_nested(d_inode(mnt->mnt_root), I_MUTEX_PARENT); mnt 892 ipc/mqueue.c dentry = lookup_one_len(name->name, mnt->mnt_root, mnt 909 ipc/mqueue.c inode_unlock(d_inode(mnt->mnt_root)); mnt 912 ipc/mqueue.c mnt_drop_write(mnt); mnt 196 kernel/acct.c struct vfsmount *mnt, *internal; mnt 237 kernel/acct.c mnt = file->f_path.mnt; mnt 238 kernel/acct.c file->f_path.mnt = internal; mnt 249 kernel/acct.c pin_insert(&acct->pin, mnt); mnt 255 kernel/acct.c __mnt_drop_write(mnt); mnt 256 kernel/acct.c mntput(mnt); mnt 673 kernel/audit_tree.c static int compare_root(struct vfsmount *mnt, void *arg) mnt 675 kernel/audit_tree.c return inode_to_key(d_backing_inode(mnt->mnt_root)) == mnt 747 kernel/audit_tree.c static int tag_mount(struct vfsmount *mnt, void *arg) mnt 749 kernel/audit_tree.c return tag_chunk(d_backing_inode(mnt->mnt_root), arg); mnt 806 kernel/audit_tree.c struct vfsmount *mnt; mnt 833 kernel/audit_tree.c mnt = collect_mounts(&path); mnt 835 kernel/audit_tree.c if (IS_ERR(mnt)) { mnt 836 kernel/audit_tree.c err = PTR_ERR(mnt); mnt 841 kernel/audit_tree.c err = iterate_mounts(tag_mount, tree, mnt); mnt 842 kernel/audit_tree.c drop_collected_mounts(mnt); mnt 875 kernel/auditsc.c context->pwd.mnt = NULL; mnt 1551 kernel/auditsc.c if (context->pwd.dentry && context->pwd.mnt) { mnt 1282 kernel/sysctl_binary.c struct vfsmount *mnt; mnt 1305 kernel/sysctl_binary.c mnt = task_active_pid_ns(current)->proc_mnt; mnt 1306 kernel/sysctl_binary.c file = file_open_root(mnt->mnt_root, mnt, pathname, flags, 0); mnt 8640 kernel/trace/trace.c struct vfsmount *mnt; mnt 8651 kernel/trace/trace.c mnt = vfs_submount(mntpt, type, "tracefs", NULL); mnt 8653 kernel/trace/trace.c if (IS_ERR(mnt)) mnt 8655 kernel/trace/trace.c mntget(mnt); mnt 8657 kernel/trace/trace.c return mnt; mnt 4095 mm/shmem.c static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name, loff_t size, mnt 4101 mm/shmem.c if (IS_ERR(mnt)) mnt 4102 mm/shmem.c return ERR_CAST(mnt); mnt 4110 mm/shmem.c inode = shmem_get_inode(mnt->mnt_sb, NULL, S_IFREG | S_IRWXUGO, 0, mnt 4121 mm/shmem.c res = alloc_file_pseudo(inode, mnt, name, O_RDWR, mnt 4162 mm/shmem.c struct file *shmem_file_setup_with_mnt(struct vfsmount *mnt, const char *name, mnt 4165 mm/shmem.c return __shmem_file_setup(mnt, name, size, flags, 0); mnt 531 net/unix/af_unix.c u->path.mnt = NULL; mnt 785 net/unix/af_unix.c u->path.mnt = NULL; mnt 987 net/unix/af_unix.c res->mnt = mntget(path.mnt); mnt 2439 security/apparmor/apparmorfs.c aa_null.mnt = mntget(mount); mnt 2463 security/apparmor/apparmorfs.c path.mnt = mntget(aafs_mnt); mnt 467 security/apparmor/file.c struct path link = { .mnt = new_dir->mnt, .dentry = new_dentry }; mnt 468 security/apparmor/file.c struct path target = { .mnt = new_dir->mnt, .dentry = old_dentry }; mnt 627 security/apparmor/file.c if (file->f_path.mnt && path_mediated_fs(file->f_path.dentry)) mnt 152 security/apparmor/include/audit.h } mnt; mnt 45 security/apparmor/include/mount.h int aa_umount(struct aa_label *label, struct vfsmount *mnt, int flags); mnt 241 security/apparmor/lsm.c struct path path = { .mnt = dir->mnt, .dentry = dentry }; mnt 354 security/apparmor/lsm.c struct path old_path = { .mnt = old_dir->mnt, mnt 356 security/apparmor/lsm.c struct path new_path = { .mnt = new_dir->mnt, mnt 548 security/apparmor/lsm.c static int apparmor_sb_umount(struct vfsmount *mnt, int flags) mnt 555 security/apparmor/lsm.c error = aa_umount(label, mnt, flags); mnt 90 security/apparmor/mount.c if (aad(sa)->mnt.type) { mnt 92 security/apparmor/mount.c audit_log_untrustedstring(ab, aad(sa)->mnt.type); mnt 94 security/apparmor/mount.c if (aad(sa)->mnt.src_name) { mnt 96 security/apparmor/mount.c audit_log_untrustedstring(ab, aad(sa)->mnt.src_name); mnt 98 security/apparmor/mount.c if (aad(sa)->mnt.trans) { mnt 100 security/apparmor/mount.c audit_log_untrustedstring(ab, aad(sa)->mnt.trans); mnt 102 security/apparmor/mount.c if (aad(sa)->mnt.flags) { mnt 104 security/apparmor/mount.c audit_mnt_flags(ab, aad(sa)->mnt.flags); mnt 107 security/apparmor/mount.c if (aad(sa)->mnt.data) { mnt 109 security/apparmor/mount.c audit_log_untrustedstring(ab, aad(sa)->mnt.data); mnt 169 security/apparmor/mount.c aad(&sa)->mnt.src_name = src_name; mnt 170 security/apparmor/mount.c aad(&sa)->mnt.type = type; mnt 171 security/apparmor/mount.c aad(&sa)->mnt.trans = trans; mnt 172 security/apparmor/mount.c aad(&sa)->mnt.flags = flags; mnt 174 security/apparmor/mount.c aad(&sa)->mnt.data = data; mnt 584 security/apparmor/mount.c int aa_umount(struct aa_label *label, struct vfsmount *mnt, int flags) mnt 589 security/apparmor/mount.c struct path path = { .mnt = mnt, .dentry = mnt->mnt_root }; mnt 592 security/apparmor/mount.c AA_BUG(!mnt); mnt 55 security/apparmor/path.c our_mnt(path->mnt))) { mnt 97 security/apparmor/path.c if (path->mnt->mnt_flags & MNT_INTERNAL) { mnt 126 security/apparmor/path.c if (!our_mnt(path->mnt)) mnt 146 security/apparmor/path.c } else if (!our_mnt(path->mnt)) mnt 660 security/commoncap.c if (!mnt_may_suid(bprm->file->f_path.mnt)) mnt 668 security/commoncap.c if (!current_in_userns(bprm->file->f_path.mnt->mnt_sb->s_user_ns)) mnt 329 security/keys/big_key.c path->mnt = NULL; mnt 142 security/loadpin/loadpin.c load_root = file->f_path.mnt->mnt_sb; mnt 863 security/security.c int security_sb_umount(struct vfsmount *mnt, int flags) mnt 865 security/security.c return call_int_hook(sb_umount, 0, mnt, flags); mnt 2280 security/selinux/hooks.c int nosuid = !mnt_may_suid(bprm->file->f_path.mnt); mnt 2777 security/selinux/hooks.c static int selinux_umount(struct vfsmount *mnt, int flags) mnt 2781 security/selinux/hooks.c return superblock_has_perm(cred, mnt->mnt_sb, mnt 2060 security/selinux/selinuxfs.c selinux_null.mnt = selinuxfs_mount = kern_mount(&sel_fs_type); mnt 2066 security/selinux/selinuxfs.c selinux_null.dentry = d_hash_and_lookup(selinux_null.mnt->mnt_root, mnt 713 security/tomoyo/file.c .path1 = { .mnt = path->mnt, .dentry = path->dentry }, mnt 761 security/tomoyo/file.c .path1 = { .mnt = path->mnt, .dentry = path->dentry }, mnt 807 security/tomoyo/file.c .path1 = { .mnt = path->mnt, .dentry = path->dentry }, mnt 864 security/tomoyo/file.c .path1 = { .mnt = path->mnt, .dentry = path->dentry }, mnt 911 security/tomoyo/file.c .path1 = { .mnt = path1->mnt, .dentry = path1->dentry }, mnt 912 security/tomoyo/file.c .path2 = { .mnt = path2->mnt, .dentry = path2->dentry } mnt 267 security/tomoyo/realpath.c if (!path->mnt || mnt 154 security/tomoyo/tomoyo.c struct path path = { .mnt = parent->mnt, .dentry = dentry }; mnt 171 security/tomoyo/tomoyo.c struct path path = { .mnt = parent->mnt, .dentry = dentry }; mnt 187 security/tomoyo/tomoyo.c struct path path = { .mnt = parent->mnt, .dentry = dentry }; mnt 204 security/tomoyo/tomoyo.c struct path path = { .mnt = parent->mnt, .dentry = dentry }; mnt 222 security/tomoyo/tomoyo.c struct path path = { .mnt = parent->mnt, .dentry = dentry }; mnt 261 security/tomoyo/tomoyo.c struct path path1 = { .mnt = new_dir->mnt, .dentry = old_dentry }; mnt 262 security/tomoyo/tomoyo.c struct path path2 = { .mnt = new_dir->mnt, .dentry = new_dentry }; mnt 282 security/tomoyo/tomoyo.c struct path path1 = { .mnt = old_parent->mnt, .dentry = old_dentry }; mnt 283 security/tomoyo/tomoyo.c struct path path2 = { .mnt = new_parent->mnt, .dentry = new_dentry }; mnt 411 security/tomoyo/tomoyo.c static int tomoyo_sb_umount(struct vfsmount *mnt, int flags) mnt 413 security/tomoyo/tomoyo.c struct path path = { .mnt = mnt, .dentry = mnt->mnt_root }; mnt 316 tools/bpf/bpftool/cgroup.c struct mntent *mnt; mnt 323 tools/bpf/bpftool/cgroup.c while ((mnt = getmntent(f))) { mnt 324 tools/bpf/bpftool/cgroup.c if (strcmp(mnt->mnt_type, "cgroup2") == 0) { mnt 326 tools/bpf/bpftool/cgroup.c return strdup(mnt->mnt_dir); mnt 27 tools/bpf/bpftool/tracelog.c static int validate_tracefs_mnt(const char *mnt, unsigned long magic) mnt 31 tools/bpf/bpftool/tracelog.c if (statfs(mnt, &st_fs) < 0) mnt 40 tools/bpf/bpftool/tracelog.c find_tracefs_mnt_single(unsigned long magic, char *mnt, const char *mntpt) mnt 53 tools/bpf/bpftool/tracelog.c strcpy(mnt, mntpt); mnt 57 tools/bpf/bpftool/tracelog.c static bool get_tracefs_pipe(char *mnt) mnt 73 tools/bpf/bpftool/tracelog.c if (find_tracefs_mnt_single(TRACEFS_MAGIC, mnt, *ptr)) mnt 83 tools/bpf/bpftool/tracelog.c while (fscanf(fp, format, mnt, type) == 2) mnt 91 tools/bpf/bpftool/tracelog.c if (found && validate_tracefs_mnt(mnt, TRACEFS_MAGIC)) mnt 103 tools/bpf/bpftool/tracelog.c strcpy(mnt, known_mnts[1]); mnt 104 tools/bpf/bpftool/tracelog.c if (mount_tracefs(mnt)) mnt 108 tools/bpf/bpftool/tracelog.c strcat(mnt, pipe_name); mnt 31 tools/lib/api/fs/tracing_path.c const char *mnt; mnt 33 tools/lib/api/fs/tracing_path.c mnt = tracefs__mount(); mnt 34 tools/lib/api/fs/tracing_path.c if (!mnt) mnt 37 tools/lib/api/fs/tracing_path.c __tracing_path_set("", mnt); mnt 44 tools/lib/api/fs/tracing_path.c const char *mnt; mnt 46 tools/lib/api/fs/tracing_path.c mnt = debugfs__mount(); mnt 47 tools/lib/api/fs/tracing_path.c if (!mnt) mnt 50 tools/lib/api/fs/tracing_path.c __tracing_path_set("tracing/", mnt); mnt 57 tools/lib/api/fs/tracing_path.c const char *mnt; mnt 59 tools/lib/api/fs/tracing_path.c mnt = tracing_path_tracefs_mount(); mnt 60 tools/lib/api/fs/tracing_path.c if (mnt) mnt 61 tools/lib/api/fs/tracing_path.c return mnt; mnt 63 tools/lib/api/fs/tracing_path.c mnt = tracing_path_debugfs_mount(); mnt 65 tools/lib/api/fs/tracing_path.c return mnt; mnt 78 tools/perf/util/cgroup.c char mnt[PATH_MAX + 1]; mnt 82 tools/perf/util/cgroup.c if (cgroupfs_find_mountpoint(mnt, PATH_MAX + 1)) mnt 85 tools/perf/util/cgroup.c scnprintf(path, PATH_MAX, "%s/%s", mnt, name); mnt 288 tools/perf/util/cpumap.c const char *mnt; mnt 296 tools/perf/util/cpumap.c mnt = sysfs__mountpoint(); mnt 297 tools/perf/util/cpumap.c if (!mnt) mnt 301 tools/perf/util/cpumap.c ret = snprintf(path, PATH_MAX, "%s/devices/system/cpu/possible", mnt); mnt 312 tools/perf/util/cpumap.c ret = snprintf(path, PATH_MAX, "%s/devices/system/cpu/present", mnt); mnt 328 tools/perf/util/cpumap.c const char *mnt; mnt 335 tools/perf/util/cpumap.c mnt = sysfs__mountpoint(); mnt 336 tools/perf/util/cpumap.c if (!mnt) mnt 340 tools/perf/util/cpumap.c ret = snprintf(path, PATH_MAX, "%s/devices/system/node/possible", mnt); mnt 414 tools/perf/util/cpumap.c const char *mnt; mnt 421 tools/perf/util/cpumap.c mnt = sysfs__mountpoint(); mnt 422 tools/perf/util/cpumap.c if (!mnt) mnt 425 tools/perf/util/cpumap.c n = snprintf(path, PATH_MAX, "%s/devices/system/node", mnt); mnt 84 tools/perf/util/mem-events.c const char *mnt = sysfs__mount(); mnt 88 tools/perf/util/mem-events.c if (!mnt) mnt 97 tools/perf/util/mem-events.c mnt, e->sysfs_name);