don't call try_to_freeze() from do_signal()
Al Viro [Fri, 27 Apr 2012 05:18:52 +0000 (01:18 -0400)]
get_signal_to_deliver() will handle it itself

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

arch/blackfin/kernel/signal.c
arch/frv/kernel/signal.c
arch/h8300/kernel/signal.c
arch/hexagon/kernel/signal.c
arch/m32r/kernel/signal.c
arch/unicore32/kernel/signal.c
arch/xtensa/kernel/signal.c

index b25cbfe..93d1ecd 100644 (file)
@@ -285,9 +285,6 @@ asmlinkage void do_signal(struct pt_regs *regs)
 
        current->thread.esp0 = (unsigned long)regs;
 
-       if (try_to_freeze())
-               goto no_signal;
-
        signr = get_signal_to_deliver(&info, &ka, regs, NULL);
        if (signr > 0) {
                /* Whee!  Actually deliver the signal.  */
@@ -295,7 +292,6 @@ asmlinkage void do_signal(struct pt_regs *regs)
                return;
        }
 
- no_signal:
        /* Did we come from a system call? */
        if (regs->orig_p0 >= 0)
                /* Restart the system call - no handlers present */
index 8dd0492..c4d9cfa 100644 (file)
@@ -491,16 +491,12 @@ static void do_signal(void)
        if (!user_mode(__frame))
                return;
 
-       if (try_to_freeze())
-               goto no_signal;
-
        signr = get_signal_to_deliver(&info, &ka, __frame, NULL);
        if (signr > 0) {
                handle_signal(signr, &info, &ka);
                return;
        }
 
-no_signal:
        /* Did we come from a system call? */
        if (__frame->syscallno != -1) {
                /* Restart the system call - no handlers present */
index eac26c9..8fbfc39 100644 (file)
@@ -466,9 +466,6 @@ statis void do_signal(struct pt_regs *regs)
        if ((regs->ccr & 0x10))
                return;
 
-       if (try_to_freeze())
-               goto no_signal;
-
        current->thread.esp0 = (unsigned long) regs;
 
        signr = get_signal_to_deliver(&info, &ka, regs, NULL);
@@ -477,7 +474,6 @@ statis void do_signal(struct pt_regs *regs)
                handle_signal(signr, &info, &ka, regs);
                return;
        }
- no_signal:
        /* Did we come from a system call? */
        if (regs->orig_er0 >= 0) {
                /* Restart the system call - no handlers present */
index 5f7d7c8..c9caf74 100644 (file)
@@ -205,9 +205,6 @@ static void do_signal(struct pt_regs *regs)
        if (!user_mode(regs))
                return;
 
-       if (try_to_freeze())
-               goto no_signal;
-
        signo = get_signal_to_deliver(&info, &sigact, regs, NULL);
 
        if (signo > 0) {
@@ -215,7 +212,6 @@ static void do_signal(struct pt_regs *regs)
                return;
        }
 
-no_signal:
        /*
         * If we came from a system call, handle the restart.
         */
index 970f46d..7cbfa63 100644 (file)
@@ -320,9 +320,6 @@ static void do_signal(struct pt_regs *regs)
        if (!user_mode(regs))
                return;
 
-       if (try_to_freeze()) 
-               goto no_signal;
-
        signr = get_signal_to_deliver(&info, &ka, regs, NULL);
        if (signr > 0) {
                /* Re-enable any watchpoints before delivering the
@@ -337,7 +334,6 @@ static void do_signal(struct pt_regs *regs)
                return;
        }
 
- no_signal:
        /* Did we come from a system call? */
        if (regs->syscall_nr >= 0) {
                /* Restart the system call - no handlers present */
index dc41b11..af962e5 100644 (file)
@@ -396,16 +396,12 @@ static void do_signal(struct pt_regs *regs, int syscall)
        if (!user_mode(regs))
                return;
 
-       if (try_to_freeze())
-               goto no_signal;
-
        signr = get_signal_to_deliver(&info, &ka, regs, NULL);
        if (signr > 0) {
                handle_signal(signr, &ka, &info, regs, syscall);
                return;
        }
 
- no_signal:
        /*
         * No signal to deliver to the process - restart the syscall.
         */
index 3e83913..ca98b86 100644 (file)
@@ -453,9 +453,6 @@ static void do_signal(struct pt_regs *regs)
        int signr;
        struct k_sigaction ka;
 
-       if (try_to_freeze())
-               goto no_signal;
-
        task_pt_regs(current)->icountlevel = 0;
 
        signr = get_signal_to_deliver(&info, &ka, regs, NULL);
@@ -506,7 +503,6 @@ static void do_signal(struct pt_regs *regs)
                return;
        }
 
-no_signal:
        /* Did we come from a system call? */
        if ((signed) regs->syscall >= 0) {
                /* Restart the system call - no handlers present */