[CRYPTO] s390-aes: Use correct encrypt/decrypt function in fallback
authorSebastian Siewior <sebastian@breakpoint.cc>
Mon, 10 Dec 2007 07:49:41 +0000 (15:49 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 10 Jan 2008 21:16:37 +0000 (08:16 +1100)
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>
arch/s390/crypto/aes_s390.c

index 8524611..46c9705 100644 (file)
@@ -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;