diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2005-09-01 17:43:05 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-09-01 17:43:05 -0700 |
commit | 64baf3cfea974d2b9e671ccfdbc03e030ea5ebc6 (patch) | |
tree | 2bae23bf3d7378ba2d60be8aee6b0178d1d9c721 /crypto/cipher.c | |
parent | fb4f10ed50f01b0f953068456bfb6e2885921b01 (diff) | |
download | linux-3.10-64baf3cfea974d2b9e671ccfdbc03e030ea5ebc6.tar.gz linux-3.10-64baf3cfea974d2b9e671ccfdbc03e030ea5ebc6.tar.bz2 linux-3.10-64baf3cfea974d2b9e671ccfdbc03e030ea5ebc6.zip |
[CRYPTO]: Added CRYPTO_TFM_REQ_MAY_SLEEP flag
The crypto layer currently uses in_atomic() to determine whether it is
allowed to sleep. This is incorrect since spin locks don't always cause
in_atomic() to return true.
Instead of that, this patch returns to an earlier idea of a per-tfm flag
which determines whether sleeping is allowed. Unlike the earlier version,
the default is to not allow sleeping. This ensures that no existing code
can break.
As usual, this flag may either be set through crypto_alloc_tfm(), or
just before a specific crypto operation.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'crypto/cipher.c')
-rw-r--r-- | crypto/cipher.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/crypto/cipher.c b/crypto/cipher.c index 8da644364cb..3df47f93c9d 100644 --- a/crypto/cipher.c +++ b/crypto/cipher.c @@ -377,11 +377,7 @@ static int nocrypt_iv(struct crypto_tfm *tfm, int crypto_init_cipher_flags(struct crypto_tfm *tfm, u32 flags) { u32 mode = flags & CRYPTO_TFM_MODE_MASK; - tfm->crt_cipher.cit_mode = mode ? mode : CRYPTO_TFM_MODE_ECB; - if (flags & CRYPTO_TFM_REQ_WEAK_KEY) - tfm->crt_flags = CRYPTO_TFM_REQ_WEAK_KEY; - return 0; } |