smb3: workaround negprot bug in some Samba servers
authorSteve French <stfrench@microsoft.com>
Tue, 12 Jul 2022 05:11:42 +0000 (00:11 -0500)
committerSteve French <stfrench@microsoft.com>
Thu, 14 Jul 2022 00:59:47 +0000 (19:59 -0500)
commit32f319183c439b239294cb2d70ada3564c4c7c39
tree1f245440fa1ac47a2be016c5d5b73f3fd8ba7e74
parent2883f4b5a0e1ac9472c7e3ae9bbdb4ea5a2117c6
smb3: workaround negprot bug in some Samba servers

Mount can now fail to older Samba servers due to a server
bug handling padding at the end of the last negotiate
context (negotiate contexts typically are rounded up to 8
bytes by adding padding if needed). This server bug can
be avoided by switching the order of negotiate contexts,
placing a negotiate context at the end that does not
require padding (prior to the recent netname context fix
this was the case on the client).

Fixes: 73130a7b1ac9 ("smb3: fix empty netname context on secondary channels")
Reported-by: Julian Sikorski <belegdol@gmail.com>
Tested-by: Julian Sikorski <belegdol+github@gmail.com>
Reviewed-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2pdu.c