Skip to content

Commit

Permalink
sparc64: Set CRYPTO_TFM_REQ_MAY_SLEEP consistently in DES code.
Browse files Browse the repository at this point in the history
We use the FPU and therefore cannot sleep during the crypto
loops.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Dec 19, 2012
1 parent ce68895 commit b3a3794
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions arch/sparc/crypto/des_glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ static int __ecb_crypt(struct blkcipher_desc *desc,

blkcipher_walk_init(&walk, dst, src, nbytes);
err = blkcipher_walk_virt(desc, &walk);
desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;

if (encrypt)
des_sparc64_load_keys(&ctx->encrypt_expkey[0]);
Expand Down Expand Up @@ -147,6 +148,7 @@ static int cbc_encrypt(struct blkcipher_desc *desc,

blkcipher_walk_init(&walk, dst, src, nbytes);
err = blkcipher_walk_virt(desc, &walk);
desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;

des_sparc64_load_keys(&ctx->encrypt_expkey[0]);
while ((nbytes = walk.nbytes)) {
Expand Down Expand Up @@ -177,6 +179,7 @@ static int cbc_decrypt(struct blkcipher_desc *desc,

blkcipher_walk_init(&walk, dst, src, nbytes);
err = blkcipher_walk_virt(desc, &walk);
desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;

des_sparc64_load_keys(&ctx->decrypt_expkey[0]);
while ((nbytes = walk.nbytes)) {
Expand Down Expand Up @@ -266,6 +269,7 @@ static int __ecb3_crypt(struct blkcipher_desc *desc,

blkcipher_walk_init(&walk, dst, src, nbytes);
err = blkcipher_walk_virt(desc, &walk);
desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;

if (encrypt)
K = &ctx->encrypt_expkey[0];
Expand Down Expand Up @@ -317,6 +321,7 @@ static int cbc3_encrypt(struct blkcipher_desc *desc,

blkcipher_walk_init(&walk, dst, src, nbytes);
err = blkcipher_walk_virt(desc, &walk);
desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;

K = &ctx->encrypt_expkey[0];
des3_ede_sparc64_load_keys(K);
Expand Down Expand Up @@ -352,6 +357,7 @@ static int cbc3_decrypt(struct blkcipher_desc *desc,

blkcipher_walk_init(&walk, dst, src, nbytes);
err = blkcipher_walk_virt(desc, &walk);
desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;

K = &ctx->decrypt_expkey[0];
des3_ede_sparc64_load_keys(K);
Expand Down

0 comments on commit b3a3794

Please sign in to comment.