Commit 9937347a authored by Trond Myklebust's avatar Trond Myklebust

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: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
Cc: Stanislav Kinsbursky <skinsbursky@parallels.com>
parent 0a702195
...@@ -911,6 +911,7 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve ...@@ -911,6 +911,7 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve
data->auth_flavor_len = 1; data->auth_flavor_len = 1;
data->version = version; data->version = version;
data->minorversion = 0; data->minorversion = 0;
data->net = current->nsproxy->net_ns;
security_init_mnt_opts(&data->lsm_opts); security_init_mnt_opts(&data->lsm_opts);
} }
return data; return data;
...@@ -1110,8 +1111,6 @@ static int nfs_parse_mount_options(char *raw, ...@@ -1110,8 +1111,6 @@ static int nfs_parse_mount_options(char *raw,
free_secdata(secdata); free_secdata(secdata);
mnt->net = current->nsproxy->net_ns;
while ((p = strsep(&raw, ",")) != NULL) { while ((p = strsep(&raw, ",")) != NULL) {
substring_t args[MAX_OPT_ARGS]; substring_t args[MAX_OPT_ARGS];
unsigned long option; unsigned long option;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment