]> Git Repo - J-linux.git/commitdiff
crypto: eseqiv - Fix IV generation for sync algorithms
authorSteffen Klassert <[email protected]>
Wed, 15 Apr 2009 12:45:03 +0000 (20:45 +0800)
committerHerbert Xu <[email protected]>
Wed, 15 Apr 2009 12:45:03 +0000 (20:45 +0800)
If crypto_ablkcipher_encrypt() returns synchronous,
eseqiv_complete2() is called even if req->giv is already the
pointer to the generated IV. The generated IV is overwritten
with some random data in this case. This patch fixes this by
calling eseqiv_complete2() just if the generated IV has to be
copied to req->giv.

Signed-off-by: Steffen Klassert <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
crypto/eseqiv.c

index 2a342c8e52b385b34f2602b0c8dfb4d465e9b573..3ca3b669d5d501ed491a1c70dc2694b30e9cb0e0 100644 (file)
@@ -153,7 +153,8 @@ static int eseqiv_givencrypt(struct skcipher_givcrypt_request *req)
        if (err)
                goto out;
 
-       eseqiv_complete2(req);
+       if (giv != req->giv)
+               eseqiv_complete2(req);
 
 out:
        return err;
This page took 0.056392 seconds and 4 git commands to generate.