crypto: serpent-sse2 - clear CRYPTO_TFM_REQ_MAY_SLEEP in lrw and xts modes
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Wed, 9 Nov 2011 17:44:12 +0000 (19:44 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 21 Nov 2011 08:13:25 +0000 (16:13 +0800)
LRW/XTS patches for serpent-sse2 forgot to add this. CRYPTO_TFM_REQ_MAY_SLEEP
should be cleared as sleeping between kernel_fpu_begin()/kernel_fpu_end() is
not allowed.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/serpent_sse2_glue.c

index 2dffc5a..2f5c304 100644 (file)
@@ -554,6 +554,7 @@ static int lrw_encrypt(struct blkcipher_desc *desc, struct scatterlist *dst,
        };
        int ret;
 
+       desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
        ret = lrw_crypt(desc, dst, src, nbytes, &req);
        serpent_fpu_end(crypt_ctx.fpu_enabled);
 
@@ -579,6 +580,7 @@ static int lrw_decrypt(struct blkcipher_desc *desc, struct scatterlist *dst,
        };
        int ret;
 
+       desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
        ret = lrw_crypt(desc, dst, src, nbytes, &req);
        serpent_fpu_end(crypt_ctx.fpu_enabled);
 
@@ -671,6 +673,7 @@ static int xts_encrypt(struct blkcipher_desc *desc, struct scatterlist *dst,
        };
        int ret;
 
+       desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
        ret = xts_crypt(desc, dst, src, nbytes, &req);
        serpent_fpu_end(crypt_ctx.fpu_enabled);
 
@@ -697,6 +700,7 @@ static int xts_decrypt(struct blkcipher_desc *desc, struct scatterlist *dst,
        };
        int ret;
 
+       desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
        ret = xts_crypt(desc, dst, src, nbytes, &req);
        serpent_fpu_end(crypt_ctx.fpu_enabled);