summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Siewior <sebastian@breakpoint.cc>2007-12-10 15:49:41 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2008-01-11 08:16:37 +1100
commit2d74d405fc5ea78b20a4a2efd24201db424e07b1 (patch)
tree017f0ea5d0825de0a3d91ef755f583e8b72bdaf9
parentfdc520aa693d462f4958339534a3b596f95795b7 (diff)
downloadtalos-op-linux-2d74d405fc5ea78b20a4a2efd24201db424e07b1.tar.gz
talos-op-linux-2d74d405fc5ea78b20a4a2efd24201db424e07b1.zip
[CRYPTO] s390-aes: Use correct encrypt/decrypt function in fallback
crypto_blkcipher_decrypt is wrong because it does not care about the IV. Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--arch/s390/crypto/aes_s390.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/s390/crypto/aes_s390.c b/arch/s390/crypto/aes_s390.c
index 85246112ab5e..46c97058ebe1 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;
OpenPOWER on IntegriCloud