aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/geode-aes.h
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2019-10-05 11:11:10 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2019-10-10 23:42:45 +1100
commit504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a (patch)
tree052165945d9a93cce70e9cb8a58cf695484d1c29 /drivers/crypto/geode-aes.h
parentcrypto: user - fix memory leak in crypto_reportstat (diff)
downloadlinux-dev-504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a.tar.xz
linux-dev-504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a.zip
crypto: geode-aes - switch to skcipher for cbc(aes) fallback
Commit 79c65d179a40e145 ("crypto: cbc - Convert to skcipher") updated the generic CBC template wrapper from a blkcipher to a skcipher algo, to get away from the deprecated blkcipher interface. However, as a side effect, drivers that instantiate CBC transforms using the blkcipher as a fallback no longer work, since skciphers can wrap blkciphers but not the other way around. This broke the geode-aes driver. So let's fix it by moving to the sync skcipher interface when allocating the fallback. At the same time, align with the generic API for ECB and CBC by rejecting inputs that are not a multiple of the AES block size. Fixes: 79c65d179a40e145 ("crypto: cbc - Convert to skcipher") Cc: <stable@vger.kernel.org> # v4.20+ ONLY Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Florian Bezdeka <florian@bezdeka.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/geode-aes.h')
-rw-r--r--drivers/crypto/geode-aes.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/geode-aes.h b/drivers/crypto/geode-aes.h
index 5c6e131a8f9d..f8a86898ac22 100644
--- a/drivers/crypto/geode-aes.h
+++ b/drivers/crypto/geode-aes.h
@@ -60,7 +60,7 @@ struct geode_aes_op {
u8 *iv;
union {
- struct crypto_blkcipher *blk;
+ struct crypto_sync_skcipher *blk;
struct crypto_cipher *cip;
} fallback;
u32 keylen;