OSDN Git Service

cifs: Always update signing key of first channel
authorPaulo Alcantara (SUSE) <pc@cjr.nz>
Fri, 22 Nov 2019 15:30:57 +0000 (12:30 -0300)
committerSteve French <stfrench@microsoft.com>
Mon, 25 Nov 2019 15:59:28 +0000 (09:59 -0600)
Update signing key of first channel whenever generating the master
sigining/encryption/decryption keys rather than only in cifs_mount().

This also fixes reconnect when re-establishing smb sessions to other
servers.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2transport.c

index 8650123..387c887 100644 (file)
@@ -407,6 +407,10 @@ generate_smb3signingkey(struct cifs_ses *ses,
                                  SMB3_SIGN_KEY_SIZE);
                if (rc)
                        return rc;
+
+               memcpy(ses->chans[0].signkey, ses->smb3signingkey,
+                      SMB3_SIGN_KEY_SIZE);
+
                rc = generate_key(ses, ptriplet->encryption.label,
                                  ptriplet->encryption.context,
                                  ses->smb3encryptionkey,