don't call try_to_freeze() from do_signal()
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 27 Apr 2012 05:18:52 +0000 (01:18 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 1 Jun 2012 16:58:49 +0000 (12:58 -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 b25cbfef819246f9099724e9a3144dc16996e453..93d1ecd9213c450480c7d4524a17157ddf4c54bc 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 8dd0492bfb7b73551f731b32f1d520db50cfc19a..c4d9cfa0c8a3a1e7a9a53a4b498f205ec1aa88ea 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 eac26c9ffc445ca64ca3ce2b2c940927a313ebf0..8fbfc39574f5ac363f497b4038f40367fe07d9d1 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 5f7d7c8a13282ffddb4be65ddfe8875b9ad482bd..c9caf7401191d2ce4c92f99d5d29e233fd660320 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 970f46dbf24fa3e3a68f765e60a96b4905fc4122..7cbfa639fbfa3bfa6a158710de6b2c88313c9835 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 dc41b11f8a57a3f932d2b920c3ef2b819b1d2fa4..af962e57efb21dfb1535d7096073033ec00435a5 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 3e83913a3c7c9760980f2ce3cda09a43cd23733d..ca98b86ef9a736e60c5cbff084a6131dffa6950e 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 */