From: Al Viro Date: Fri, 27 Apr 2012 05:18:52 +0000 (-0400) Subject: don't call try_to_freeze() from do_signal() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=bf343dfd877ebf16cfbc31ba121606c5b6cef01f;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git don't call try_to_freeze() from do_signal() get_signal_to_deliver() will handle it itself Signed-off-by: Al Viro --- 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 */