cifs: set server->cipher_type to AES-128-CCM for SMB3.0
authorAurelien Aptel <aaptel@suse.com>
Fri, 21 May 2021 15:19:27 +0000 (17:19 +0200)
committerSteve French <stfrench@microsoft.com>
Thu, 27 May 2021 19:03:47 +0000 (14:03 -0500)
commit6d2fcfe6b517fe7cbf2687adfb0a16cdcd5d9243
treecc81121f4c47a3dcab10cf0664c24353390bdc9c
parentc4681547bcce777daf576925a966ffa824edd09d
cifs: set server->cipher_type to AES-128-CCM for SMB3.0

SMB3.0 doesn't have encryption negotiate context but simply uses
the SMB2_GLOBAL_CAP_ENCRYPTION flag.

When that flag is present in the neg response cifs.ko uses AES-128-CCM
which is the only cipher available in this context.

cipher_type was set to the server cipher only when parsing encryption
negotiate context (SMB3.1.1).

For SMB3.0 it was set to 0. This means cipher_type value can be 0 or 1
for AES-128-CCM.

Fix this by checking for SMB3.0 and encryption capability and setting
cipher_type appropriately.

Signed-off-by: Aurelien Aptel <aaptel@suse.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2pdu.c