crypto_blkcipher_decrypt is wrong because it does not care about
the IV.
Signed-off-by: Sebastian Siewior <[EMAIL PROTECTED]>
---
arch/s390/crypto/aes_s390.c | 10 ++--------
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/arch/s390/crypto/aes_s390.c b/arch/s390/crypto/aes_s390.c
index 8524611..46c9705 100644
--- a/arch/s390/crypto/aes_s390.c
+++ b/arch/s390/crypto/aes_s390.c
@@ -234,13 +234,10 @@ static int fallback_blk_dec(struct blkcipher_desc *desc,
struct crypto_blkcipher *tfm;
struct s390_aes_ctx *sctx = crypto_blkcipher_ctx(desc->tfm);
- memcpy(crypto_blkcipher_crt(sctx->fallback.blk)->iv, desc->info,
- AES_BLOCK_SIZE);
-
tfm = desc->tfm;
desc->tfm = sctx->fallback.blk;
- ret = crypto_blkcipher_decrypt(desc, dst, src, nbytes);
+ ret = crypto_blkcipher_decrypt_iv(desc, dst, src, nbytes);
desc->tfm = tfm;
return ret;
@@ -254,13 +251,10 @@ static int fallback_blk_enc(struct blkcipher_desc *desc,
struct crypto_blkcipher *tfm;
struct s390_aes_ctx *sctx = crypto_blkcipher_ctx(desc->tfm);
- memcpy(crypto_blkcipher_crt(sctx->fallback.blk)->iv, desc->info,
- AES_BLOCK_SIZE);
-
tfm = desc->tfm;
desc->tfm = sctx->fallback.blk;
- ret = crypto_blkcipher_encrypt(desc, dst, src, nbytes);
+ ret = crypto_blkcipher_encrypt_iv(desc, dst, src, nbytes);
desc->tfm = tfm;
return ret;
--
1.5.3.4
-
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html