aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorPaulo Alcantara (SUSE) <pc@cjr.nz>2019-11-22 12:30:57 -0300
committerSteve French <stfrench@microsoft.com>2019-11-25 09:59:28 -0600
commitff6b6f3f916097cea49805d71eb94644a234b8a6 (patch)
tree4167e1d5e8e870c02b1aae864ec1115f1e70d1d8 /fs/cifs
parentcifs: Fix retrieval of DFS referrals in cifs_mount() (diff)
downloadlinux-dev-ff6b6f3f916097cea49805d71eb94644a234b8a6.tar.xz
linux-dev-ff6b6f3f916097cea49805d71eb94644a234b8a6.zip
cifs: Always update signing key of first channel
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>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/smb2transport.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/cifs/smb2transport.c b/fs/cifs/smb2transport.c
index 86501239cef5..387c88704c52 100644
--- a/fs/cifs/smb2transport.c
+++ b/fs/cifs/smb2transport.c
@@ -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,