mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
0a70219523
commit
9937347a1e
|
@ -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,
|
||||||
|
|
||||||
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;
|
||||||
|
|
Loading…
Reference in New Issue