crypto: ccp - Fix oops by properly managing allocated structures
authorGary R Hook <gary.hook@amd.com>
Tue, 30 Jul 2019 16:05:22 +0000 (16:05 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 2 Aug 2019 04:36:29 +0000 (14:36 +1000)
A plaintext or ciphertext length of 0 is allowed in AES, in which case
no encryption occurs. Ensure that we don't clean up data structures
that were never allocated.

Fixes: 36cf515b9bbe2 ("crypto: ccp - Enable support for AES GCM on v5 CCPs")
Cc: <stable@vger.kernel.org>
Signed-off-by: Gary R Hook <gary.hook@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccp/ccp-ops.c

index 3ebe031773d56842aa4640303fc3c3b121fac2d8..59f9849c36622845a711e420286f3c92e044a7e4 100644 (file)
@@ -859,11 +859,11 @@ e_tag:
        ccp_dm_free(&final_wa);
 
 e_dst:
-       if (aes->src_len && !in_place)
+       if (ilen > 0 && !in_place)
                ccp_free_data(&dst, cmd_q);
 
 e_src:
-       if (aes->src_len)
+       if (ilen > 0)
                ccp_free_data(&src, cmd_q);
 
 e_aad: