Commit bf343dfd authored by Al Viro's avatar Al Viro

don't call try_to_freeze() from do_signal()

get_signal_to_deliver() will handle it itself
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent a610d6e6
......@@ -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 */
......
......@@ -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 */
......
......@@ -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 */
......
......@@ -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.
*/
......
......@@ -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 */
......
......@@ -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.
*/
......
......@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment