cifs: fix check of rc in function generate_smb3signingkey
authorEkaterina Esina <eesina@astralinux.ru>
Mon, 13 Nov 2023 16:42:41 +0000 (19:42 +0300)
committerSteve French <stfrench@microsoft.com>
Mon, 13 Nov 2023 22:22:30 +0000 (16:22 -0600)
Remove extra check after condition, add check after generating key
for encryption. The check is needed to return non zero rc before
rewriting it with generating key for decryption.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Reviewed-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Fixes: d70e9fa55884 ("cifs: try opening channels after mounting")
Signed-off-by: Ekaterina Esina <eesina@astralinux.ru>
Co-developed-by: Anastasia Belova <abelova@astralinux.ru>
Signed-off-by: Anastasia Belova <abelova@astralinux.ru>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/smb2transport.c

index 84ea67301303c45c805fafc9bb2f5648655ec728..5a3ca62d2f07f72584392975221cbc9b12276fe8 100644 (file)
@@ -458,6 +458,8 @@ generate_smb3signingkey(struct cifs_ses *ses,
                                  ptriplet->encryption.context,
                                  ses->smb3encryptionkey,
                                  SMB3_ENC_DEC_KEY_SIZE);
+               if (rc)
+                       return rc;
                rc = generate_key(ses, ptriplet->decryption.label,
                                  ptriplet->decryption.context,
                                  ses->smb3decryptionkey,
@@ -466,9 +468,6 @@ generate_smb3signingkey(struct cifs_ses *ses,
                        return rc;
        }
 
-       if (rc)
-               return rc;
-
 #ifdef CONFIG_CIFS_DEBUG_DUMP_KEYS
        cifs_dbg(VFS, "%s: dumping generated AES session keys\n", __func__);
        /*