smb3: if server does not support posix do not allow posix mount option
[ Upstream commit 8505c8bfd85a260c9dc5c47e15bd8c5357fcbcd2 ] If user specifies "posix" on an SMB3.11 mount, then fail the mount if server does not return the POSIX negotiate context indicating support for posix. Signed-off-by: Steve French <stfrench@microsoft.com> Reviewed-by: Aurelien Aptel <aaptel@suse.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c2704b5e46
commit
813cbe22dc
@ -3031,11 +3031,15 @@ cifs_get_tcon(struct cifs_ses *ses, struct smb_vol *volume_info)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CIFS_SMB311
|
||||
if ((volume_info->linux_ext) && (ses->server->posix_ext_supported)) {
|
||||
if (ses->server->vals->protocol_id == SMB311_PROT_ID) {
|
||||
if (volume_info->linux_ext) {
|
||||
if (ses->server->posix_ext_supported) {
|
||||
tcon->posix_extensions = true;
|
||||
printk_once(KERN_WARNING
|
||||
"SMB3.11 POSIX Extensions are experimental\n");
|
||||
} else {
|
||||
cifs_dbg(VFS, "Server does not support mounting with posix SMB3.11 extensions.\n");
|
||||
rc = -EOPNOTSUPP;
|
||||
goto out_fail;
|
||||
}
|
||||
}
|
||||
#endif /* 311 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user