diff options
Diffstat (limited to 'fs/nfs/super.c')
| -rw-r--r-- | fs/nfs/super.c | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 7226a506f3ca..2a4a024a4e7b 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
| @@ -405,7 +405,7 @@ static int nfs_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
| 405 | return 0; | 405 | return 0; | 
| 406 | 406 | ||
| 407 | out_err: | 407 | out_err: | 
| 408 | dprintk("%s: statfs error = %d\n", __FUNCTION__, -error); | 408 | dprintk("%s: statfs error = %d\n", __func__, -error); | 
| 409 | unlock_kernel(); | 409 | unlock_kernel(); | 
| 410 | return error; | 410 | return error; | 
| 411 | } | 411 | } | 
| @@ -2015,6 +2015,10 @@ static int nfs4_get_sb(struct file_system_type *fs_type, | |||
| 2015 | goto error_splat_super; | 2015 | goto error_splat_super; | 
| 2016 | } | 2016 | } | 
| 2017 | 2017 | ||
| 2018 | error = security_sb_set_mnt_opts(s, &data.lsm_opts); | ||
| 2019 | if (error) | ||
| 2020 | goto error_splat_root; | ||
| 2021 | |||
| 2018 | s->s_flags |= MS_ACTIVE; | 2022 | s->s_flags |= MS_ACTIVE; | 
| 2019 | mnt->mnt_sb = s; | 2023 | mnt->mnt_sb = s; | 
| 2020 | mnt->mnt_root = mntroot; | 2024 | mnt->mnt_root = mntroot; | 
| @@ -2031,6 +2035,8 @@ out_free: | |||
| 2031 | nfs_free_server(server); | 2035 | nfs_free_server(server); | 
| 2032 | goto out; | 2036 | goto out; | 
| 2033 | 2037 | ||
| 2038 | error_splat_root: | ||
| 2039 | dput(mntroot); | ||
| 2034 | error_splat_super: | 2040 | error_splat_super: | 
| 2035 | up_write(&s->s_umount); | 2041 | up_write(&s->s_umount); | 
| 2036 | deactivate_super(s); | 2042 | deactivate_super(s); | 
| @@ -2114,6 +2120,8 @@ static int nfs4_xdev_get_sb(struct file_system_type *fs_type, int flags, | |||
| 2114 | mnt->mnt_sb = s; | 2120 | mnt->mnt_sb = s; | 
| 2115 | mnt->mnt_root = mntroot; | 2121 | mnt->mnt_root = mntroot; | 
| 2116 | 2122 | ||
| 2123 | security_sb_clone_mnt_opts(data->sb, s); | ||
| 2124 | |||
| 2117 | dprintk("<-- nfs4_xdev_get_sb() = 0\n"); | 2125 | dprintk("<-- nfs4_xdev_get_sb() = 0\n"); | 
| 2118 | return 0; | 2126 | return 0; | 
| 2119 | 2127 | ||
| @@ -2197,6 +2205,8 @@ static int nfs4_referral_get_sb(struct file_system_type *fs_type, int flags, | |||
| 2197 | mnt->mnt_sb = s; | 2205 | mnt->mnt_sb = s; | 
| 2198 | mnt->mnt_root = mntroot; | 2206 | mnt->mnt_root = mntroot; | 
| 2199 | 2207 | ||
| 2208 | security_sb_clone_mnt_opts(data->sb, s); | ||
| 2209 | |||
| 2200 | dprintk("<-- nfs4_referral_get_sb() = 0\n"); | 2210 | dprintk("<-- nfs4_referral_get_sb() = 0\n"); | 
| 2201 | return 0; | 2211 | return 0; | 
| 2202 | 2212 | ||
