summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-04-27 07:18:52 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-06-01 18:58:49 +0200
commitbf343dfd877ebf16cfbc31ba121606c5b6cef01f (patch)
tree2829c831f6a517fb4e12b891bf03e12958fb1819
parentpull clearing RESTORE_SIGMASK into block_sigmask() (diff)
downloadlinux-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>
-rw-r--r--arch/blackfin/kernel/signal.c4
-rw-r--r--arch/frv/kernel/signal.c4
-rw-r--r--arch/h8300/kernel/signal.c4
-rw-r--r--arch/hexagon/kernel/signal.c4
-rw-r--r--arch/m32r/kernel/signal.c4
-rw-r--r--arch/unicore32/kernel/signal.c4
-rw-r--r--arch/xtensa/kernel/signal.c4
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 */