diff options
| -rw-r--r-- | fs/namespace.c | 3 | ||||
| -rw-r--r-- | fs/nfs/super.c | 8 | ||||
| -rw-r--r-- | include/linux/mnt_namespace.h | 1 |
3 files changed, 1 insertions, 11 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 7d70d63ceb29..faab1273281e 100644 --- a/fs/namespace.c +++ b/fs/namespace.c | |||
| @@ -2068,7 +2068,7 @@ struct mnt_namespace *copy_mnt_ns(unsigned long flags, struct mnt_namespace *ns, | |||
| 2068 | * create_mnt_ns - creates a private namespace and adds a root filesystem | 2068 | * create_mnt_ns - creates a private namespace and adds a root filesystem |
| 2069 | * @mnt: pointer to the new root filesystem mountpoint | 2069 | * @mnt: pointer to the new root filesystem mountpoint |
| 2070 | */ | 2070 | */ |
| 2071 | struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt) | 2071 | static struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt) |
| 2072 | { | 2072 | { |
| 2073 | struct mnt_namespace *new_ns; | 2073 | struct mnt_namespace *new_ns; |
| 2074 | 2074 | ||
| @@ -2080,7 +2080,6 @@ struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt) | |||
| 2080 | } | 2080 | } |
| 2081 | return new_ns; | 2081 | return new_ns; |
| 2082 | } | 2082 | } |
| 2083 | EXPORT_SYMBOL(create_mnt_ns); | ||
| 2084 | 2083 | ||
| 2085 | SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name, | 2084 | SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name, |
| 2086 | char __user *, type, unsigned long, flags, void __user *, data) | 2085 | char __user *, type, unsigned long, flags, void __user *, data) |
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index ce907efc5508..d5b112bcf3de 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
| @@ -2648,21 +2648,13 @@ out_freepage: | |||
| 2648 | static int nfs_follow_remote_path(struct vfsmount *root_mnt, | 2648 | static int nfs_follow_remote_path(struct vfsmount *root_mnt, |
| 2649 | const char *export_path, struct vfsmount *mnt_target) | 2649 | const char *export_path, struct vfsmount *mnt_target) |
| 2650 | { | 2650 | { |
| 2651 | struct mnt_namespace *ns_private; | ||
| 2652 | struct nameidata nd; | 2651 | struct nameidata nd; |
| 2653 | struct super_block *s; | 2652 | struct super_block *s; |
| 2654 | int ret; | 2653 | int ret; |
| 2655 | 2654 | ||
| 2656 | ns_private = create_mnt_ns(root_mnt); | ||
| 2657 | ret = PTR_ERR(ns_private); | ||
| 2658 | if (IS_ERR(ns_private)) | ||
| 2659 | goto out_mntput; | ||
| 2660 | |||
| 2661 | ret = vfs_path_lookup(root_mnt->mnt_root, root_mnt, | 2655 | ret = vfs_path_lookup(root_mnt->mnt_root, root_mnt, |
| 2662 | export_path, LOOKUP_FOLLOW, &nd); | 2656 | export_path, LOOKUP_FOLLOW, &nd); |
| 2663 | 2657 | ||
| 2664 | put_mnt_ns(ns_private); | ||
| 2665 | |||
| 2666 | if (ret != 0) | 2658 | if (ret != 0) |
| 2667 | goto out_err; | 2659 | goto out_err; |
| 2668 | 2660 | ||
diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h index d74785c2393a..d9ebf1037dfa 100644 --- a/include/linux/mnt_namespace.h +++ b/include/linux/mnt_namespace.h | |||
| @@ -23,7 +23,6 @@ struct proc_mounts { | |||
| 23 | 23 | ||
| 24 | struct fs_struct; | 24 | struct fs_struct; |
| 25 | 25 | ||
| 26 | extern struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt); | ||
| 27 | extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *, | 26 | extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *, |
| 28 | struct fs_struct *); | 27 | struct fs_struct *); |
| 29 | extern void put_mnt_ns(struct mnt_namespace *ns); | 28 | extern void put_mnt_ns(struct mnt_namespace *ns); |
