Patch "crypto: artpec6 - set correct iv size for gcm(aes)" has been added to the 4.15-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
crypto: artpec6 - set correct iv size for gcm(aes)
to the 4.15-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
crypto-artpec6-set-correct-iv-size-for-gcm-aes.patch
and it can be found in the queue-4.15 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Mar 22 14:03:40 CET 2018
From: Lars Persson <[email protected]>
Date: Tue, 12 Dec 2017 12:40:22 +0100
Subject: crypto: artpec6 - set correct iv size for gcm(aes)
From: Lars Persson <[email protected]>
[ Upstream commit 6d6e71feb183aa588c849e20e7baa47cb162928a ]
The IV size should not include the 32 bit counter. Because we had the IV size set as 16 the transform only worked when the IV input was zero padded.
--- drivers/crypto/axis/artpec6_crypto.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/crypto/axis/artpec6_crypto.c +3 -2
@@ -22,6 +22,7 @@#include <linux/slab.h> #include <crypto/aes.h> +#include <crypto/gcm.h> #include <crypto/internal/aead.h> #include <crypto/internal/hash.h> #include <crypto/internal/skcipher.h>
@@ -1934,7 +1935,7 @@ static int artpec6_crypto_prepare_aead(smemcpy (req_ctx->hw_ctx.J0, areq->iv,crypto_aead_ivsize (cipher));// The HW omits the initial increment of the counter field. -crypto_inc (req_ctx->hw_ctx.J0+12 ,4 ); +memcpy (req_ctx->hw_ctx.J0 +GCM_AES_IV_SIZE ,"\x00\x00\x00\x01" ,4 ); ret =artpec6_crypto_setup_out_descr (common, &req_ctx->hw_ctx,sizeof (struct artpec6_crypto_aead_hw_ctx ), false, false);
@@ -2956,7 +2957,7 @@ static struct aead_alg aead_algos[] = { .setkey = artpec6_crypto_aead_set_key, .encrypt = artpec6_crypto_aead_encrypt, .decrypt = artpec6_crypto_aead_decrypt, - .ivsize = AES_BLOCK_SIZE, + .ivsize = GCM_AES_IV_SIZE, .maxauthsize = AES_BLOCK_SIZE, .base = {
Patches currently in stable-queue which might be from [email protected] are
queue-4.15/crypto-artpec6-set-correct-iv-size-for-gcm-aes.patch