Pārlūkot izejas kodu

[PATCH] signal handling: revert sigkill priority fix

This patch reverts commit c33880aaddbbab1ccf36f4457ed1090621f2e39a since
it's not needed anymore. As pointed out by Roland McGrath the real fix
is to deliver all signals before returning to user space.
See http://www.ussg.iu.edu/hypermail/linux/kernel/0509.2/0683.html
A fix for s390 has been merged.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Roland McGrath <roland@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Heiko Carstens 20 gadi atpakaļ
vecāks
revīzija
b17b0421d7
1 mainītis faili ar 1 papildinājumiem un 10 dzēšanām
  1. 1 10
      kernel/signal.c

+ 1 - 10
kernel/signal.c

@@ -513,16 +513,7 @@ static int __dequeue_signal(struct sigpending *pending, sigset_t *mask,
 {
 {
 	int sig = 0;
 	int sig = 0;
 
 
-	/* SIGKILL must have priority, otherwise it is quite easy
-	 * to create an unkillable process, sending sig < SIGKILL
-	 * to self */
-	if (unlikely(sigismember(&pending->signal, SIGKILL))) {
-		if (!sigismember(mask, SIGKILL))
-			sig = SIGKILL;
-	}
-
-	if (likely(!sig))
-		sig = next_signal(pending, mask);
+	sig = next_signal(pending, mask);
 	if (sig) {
 	if (sig) {
 		if (current->notifier) {
 		if (current->notifier) {
 			if (sigismember(current->notifier_mask, sig)) {
 			if (sigismember(current->notifier_mask, sig)) {