Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+6 -6
+1 -1
crypto/ablkcipher.c
··· 706 706 err: 707 707 if (err != -EAGAIN) 708 708 break; 709 - if (signal_pending(current)) { 709 + if (fatal_signal_pending(current)) { 710 710 err = -EINTR; 711 711 break; 712 712 }
+1 -1
crypto/algapi.c
··· 345 345 crypto_alg_tested(larval->alg.cra_driver_name, 0); 346 346 } 347 347 348 - err = wait_for_completion_interruptible(&larval->completion); 348 + err = wait_for_completion_killable(&larval->completion); 349 349 WARN_ON(err); 350 350 351 351 out:
+3 -3
crypto/api.c
··· 172 172 struct crypto_larval *larval = (void *)alg; 173 173 long timeout; 174 174 175 - timeout = wait_for_completion_interruptible_timeout( 175 + timeout = wait_for_completion_killable_timeout( 176 176 &larval->completion, 60 * HZ); 177 177 178 178 alg = larval->adult; ··· 445 445 err: 446 446 if (err != -EAGAIN) 447 447 break; 448 - if (signal_pending(current)) { 448 + if (fatal_signal_pending(current)) { 449 449 err = -EINTR; 450 450 break; 451 451 } ··· 562 562 err: 563 563 if (err != -EAGAIN) 564 564 break; 565 - if (signal_pending(current)) { 565 + if (fatal_signal_pending(current)) { 566 566 err = -EINTR; 567 567 break; 568 568 }
+1 -1
crypto/crypto_user.c
··· 375 375 err = PTR_ERR(alg); 376 376 if (err != -EAGAIN) 377 377 break; 378 - if (signal_pending(current)) { 378 + if (fatal_signal_pending(current)) { 379 379 err = -EINTR; 380 380 break; 381 381 }