diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-27 07:18:52 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-01 18:58:49 +0200 |
commit | bf343dfd877ebf16cfbc31ba121606c5b6cef01f (patch) | |
tree | 2829c831f6a517fb4e12b891bf03e12958fb1819 /arch | |
parent | pull clearing RESTORE_SIGMASK into block_sigmask() (diff) | |
download | linux-bf343dfd877ebf16cfbc31ba121606c5b6cef01f.tar.xz linux-bf343dfd877ebf16cfbc31ba121606c5b6cef01f.zip |
don't call try_to_freeze() from do_signal()
get_signal_to_deliver() will handle it itself
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/blackfin/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/frv/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/h8300/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/hexagon/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/m32r/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/unicore32/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/xtensa/kernel/signal.c | 4 |
7 files changed, 0 insertions, 28 deletions
diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c index b25cbfef8192..93d1ecd9213c 100644 --- a/arch/blackfin/kernel/signal.c +++ b/arch/blackfin/kernel/signal.c @@ -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 */ diff --git a/arch/frv/kernel/signal.c b/arch/frv/kernel/signal.c index 8dd0492bfb7b..c4d9cfa0c8a3 100644 --- a/arch/frv/kernel/signal.c +++ b/arch/frv/kernel/signal.c @@ -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 */ diff --git a/arch/h8300/kernel/signal.c b/arch/h8300/kernel/signal.c index eac26c9ffc44..8fbfc39574f5 100644 --- a/arch/h8300/kernel/signal.c +++ b/arch/h8300/kernel/signal.c @@ -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 */ diff --git a/arch/hexagon/kernel/signal.c b/arch/hexagon/kernel/signal.c index 5f7d7c8a1328..c9caf7401191 100644 --- a/arch/hexagon/kernel/signal.c +++ b/arch/hexagon/kernel/signal.c @@ -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. */ diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c index 970f46dbf24f..7cbfa639fbfa 100644 --- a/arch/m32r/kernel/signal.c +++ b/arch/m32r/kernel/signal.c @@ -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 */ diff --git a/arch/unicore32/kernel/signal.c b/arch/unicore32/kernel/signal.c index dc41b11f8a57..af962e57efb2 100644 --- a/arch/unicore32/kernel/signal.c +++ b/arch/unicore32/kernel/signal.c @@ -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. */ diff --git a/arch/xtensa/kernel/signal.c b/arch/xtensa/kernel/signal.c index 3e83913a3c7c..ca98b86ef9a7 100644 --- a/arch/xtensa/kernel/signal.c +++ b/arch/xtensa/kernel/signal.c @@ -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 */ |