diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/super.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index afeee810f453..a0949f5c00ba 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -1701,10 +1701,10 @@ out_err: | |||
1701 | * corresponding to the provided path. | 1701 | * corresponding to the provided path. |
1702 | */ | 1702 | */ |
1703 | static int nfs_request_mount(struct nfs_parsed_mount_data *args, | 1703 | static int nfs_request_mount(struct nfs_parsed_mount_data *args, |
1704 | struct nfs_fh *root_fh) | 1704 | struct nfs_fh *root_fh, |
1705 | rpc_authflavor_t *server_authlist, | ||
1706 | unsigned int *server_authlist_len) | ||
1705 | { | 1707 | { |
1706 | rpc_authflavor_t server_authlist[NFS_MAX_SECFLAVORS]; | ||
1707 | unsigned int server_authlist_len = ARRAY_SIZE(server_authlist); | ||
1708 | struct nfs_mount_request request = { | 1708 | struct nfs_mount_request request = { |
1709 | .sap = (struct sockaddr *) | 1709 | .sap = (struct sockaddr *) |
1710 | &args->mount_server.address, | 1710 | &args->mount_server.address, |
@@ -1712,7 +1712,7 @@ static int nfs_request_mount(struct nfs_parsed_mount_data *args, | |||
1712 | .protocol = args->mount_server.protocol, | 1712 | .protocol = args->mount_server.protocol, |
1713 | .fh = root_fh, | 1713 | .fh = root_fh, |
1714 | .noresvport = args->flags & NFS_MOUNT_NORESVPORT, | 1714 | .noresvport = args->flags & NFS_MOUNT_NORESVPORT, |
1715 | .auth_flav_len = &server_authlist_len, | 1715 | .auth_flav_len = server_authlist_len, |
1716 | .auth_flavs = server_authlist, | 1716 | .auth_flavs = server_authlist, |
1717 | .net = args->net, | 1717 | .net = args->net, |
1718 | }; | 1718 | }; |
@@ -1763,8 +1763,12 @@ static struct nfs_server *nfs_try_mount_request(struct nfs_mount_info *mount_inf | |||
1763 | struct nfs_subversion *nfs_mod) | 1763 | struct nfs_subversion *nfs_mod) |
1764 | { | 1764 | { |
1765 | int status; | 1765 | int status; |
1766 | struct nfs_parsed_mount_data *args = mount_info->parsed; | ||
1767 | rpc_authflavor_t authlist[NFS_MAX_SECFLAVORS]; | ||
1768 | unsigned int authlist_len = ARRAY_SIZE(authlist); | ||
1766 | 1769 | ||
1767 | status = nfs_request_mount(mount_info->parsed, mount_info->mntfh); | 1770 | status = nfs_request_mount(args, mount_info->mntfh, authlist, |
1771 | &authlist_len); | ||
1768 | if (status) | 1772 | if (status) |
1769 | return ERR_PTR(status); | 1773 | return ERR_PTR(status); |
1770 | 1774 | ||