diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-10-28 07:20:10 +0900 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-10-28 07:20:10 +0900 |
commit | fbac254eaaaf03131033caa87420f9af2e273907 (patch) | |
tree | 766d1422054a6dc11ed1f04619bd0936991dfd68 /crypto/api.c | |
parent | 64ad00c1c4480363927292d212e3f49cbeeea00d (diff) | |
parent | 5ce0e962b1ddc14a797732047b9a10c544b818d1 (diff) | |
download | linux-crypto-fbac254eaaaf03131033caa87420f9af2e273907.tar.gz linux-crypto-fbac254eaaaf03131033caa87420f9af2e273907.zip |
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fix from Herbert Xu:
"This fixes a problem in the Crypto API that may cause spurious errors
when signals are received by the process that made the orignal system
call into the kernel"
* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: api - Only abort operations on fatal signal
Diffstat (limited to 'crypto/api.c')
-rw-r--r-- | crypto/api.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/api.c b/crypto/api.c index afe4610a..bbc147cb 100644 --- a/crypto/api.c +++ b/crypto/api.c @@ -172,7 +172,7 @@ static struct crypto_alg *crypto_larval_wait(struct crypto_alg *alg) struct crypto_larval *larval = (void *)alg; long timeout; - timeout = wait_for_completion_interruptible_timeout( + timeout = wait_for_completion_killable_timeout( &larval->completion, 60 * HZ); alg = larval->adult; @@ -445,7 +445,7 @@ struct crypto_tfm *crypto_alloc_base(const char *alg_name, u32 type, u32 mask) err: if (err != -EAGAIN) break; - if (signal_pending(current)) { + if (fatal_signal_pending(current)) { err = -EINTR; break; } @@ -562,7 +562,7 @@ void *crypto_alloc_tfm(const char *alg_name, err: if (err != -EAGAIN) break; - if (signal_pending(current)) { + if (fatal_signal_pending(current)) { err = -EINTR; break; } |