summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-02-19 08:44:07 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-02-19 08:44:07 +0100
commit9937347a1ee6a67e450cc9e90750ce0b10abfe75 (patch)
tree051923a6fd655fb0dc0be0b90f7de117575a91a2
parent0a702195234eb77c4097148285cccf7f095de9cf (diff)
downloadlinux-9937347a1ee6a67e450cc9e90750ce0b10abfe75.tar.bz2
NFS: Ensure that the nfs_client 'net' field is always set
Currently, the nfs_parsed_mount_data->net field is initialised in the nfs_parse_mount_options() function, which means that it only gets set if we're using text based mounts. The legacy binary mount interface is therefore broken. Fix is to initialise the ->net field in nfs_alloc_parsed_mount_data. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: Stanislav Kinsbursky <skinsbursky@parallels.com>
-rw-r--r--fs/nfs/super.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index d05024a18984..6708f3044eb0 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -911,6 +911,7 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve
data->auth_flavor_len = 1;
data->version = version;
data->minorversion = 0;
+ data->net = current->nsproxy->net_ns;
security_init_mnt_opts(&data->lsm_opts);
}
return data;
@@ -1110,8 +1111,6 @@ static int nfs_parse_mount_options(char *raw,
free_secdata(secdata);
- mnt->net = current->nsproxy->net_ns;
-
while ((p = strsep(&raw, ",")) != NULL) {
substring_t args[MAX_OPT_ARGS];
unsigned long option;