]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
crypto: ccree - fix AEAD decrypt auth fail
authorGilad Ben-Yossef <gilad@benyossef.com>
Thu, 16 Jan 2020 10:14:38 +0000 (12:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Feb 2020 12:35:22 +0000 (04:35 -0800)
commit 2a6bc713f1cef32e39e3c4e6f2e1a9849da6379c upstream.

On AEAD decryption authentication failure we are suppose to
zero out the output plaintext buffer. However, we've missed
skipping the optional associated data that may prefix the
ciphertext. This commit fixes this issue.

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
Fixes: e88b27c8eaa8 ("crypto: ccree - use std api sg_zero_buffer")
Cc: stable@vger.kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/crypto/ccree/cc_aead.c

index d3e8faa03f1560c8561f2e39a93a393b25b3241c..3d7c8d9e54b91f59fe9647d62e4cf9cf72e2e6e5 100644 (file)
@@ -237,7 +237,7 @@ static void cc_aead_complete(struct device *dev, void *cc_req, int err)
                         * revealed the decrypted message --> zero its memory.
                         */
                        sg_zero_buffer(areq->dst, sg_nents(areq->dst),
-                                      areq->cryptlen, 0);
+                                      areq->cryptlen, areq->assoclen);
                        err = -EBADMSG;
                }
        /*ENCRYPT*/