aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-04-27 01:18:52 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-06-01 12:58:49 -0400
commitbf343dfd877ebf16cfbc31ba121606c5b6cef01f (patch)
tree2829c831f6a517fb4e12b891bf03e12958fb1819
parenta610d6e672d6d3723e8da257ad4a8a288a8f2f89 (diff)
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)
285 285
286 current->thread.esp0 = (unsigned long)regs; 286 current->thread.esp0 = (unsigned long)regs;
287 287
288 if (try_to_freeze())
289 goto no_signal;
290
291 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 288 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
292 if (signr > 0) { 289 if (signr > 0) {
293 /* Whee! Actually deliver the signal. */ 290 /* Whee! Actually deliver the signal. */
@@ -295,7 +292,6 @@ asmlinkage void do_signal(struct pt_regs *regs)
295 return; 292 return;
296 } 293 }
297 294
298 no_signal:
299 /* Did we come from a system call? */ 295 /* Did we come from a system call? */
300 if (regs->orig_p0 >= 0) 296 if (regs->orig_p0 >= 0)
301 /* Restart the system call - no handlers present */ 297 /* 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)
491 if (!user_mode(__frame)) 491 if (!user_mode(__frame))
492 return; 492 return;
493 493
494 if (try_to_freeze())
495 goto no_signal;
496
497 signr = get_signal_to_deliver(&info, &ka, __frame, NULL); 494 signr = get_signal_to_deliver(&info, &ka, __frame, NULL);
498 if (signr > 0) { 495 if (signr > 0) {
499 handle_signal(signr, &info, &ka); 496 handle_signal(signr, &info, &ka);
500 return; 497 return;
501 } 498 }
502 499
503no_signal:
504 /* Did we come from a system call? */ 500 /* Did we come from a system call? */
505 if (__frame->syscallno != -1) { 501 if (__frame->syscallno != -1) {
506 /* Restart the system call - no handlers present */ 502 /* 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)
466 if ((regs->ccr & 0x10)) 466 if ((regs->ccr & 0x10))
467 return; 467 return;
468 468
469 if (try_to_freeze())
470 goto no_signal;
471
472 current->thread.esp0 = (unsigned long) regs; 469 current->thread.esp0 = (unsigned long) regs;
473 470
474 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 471 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
@@ -477,7 +474,6 @@ statis void do_signal(struct pt_regs *regs)
477 handle_signal(signr, &info, &ka, regs); 474 handle_signal(signr, &info, &ka, regs);
478 return; 475 return;
479 } 476 }
480 no_signal:
481 /* Did we come from a system call? */ 477 /* Did we come from a system call? */
482 if (regs->orig_er0 >= 0) { 478 if (regs->orig_er0 >= 0) {
483 /* Restart the system call - no handlers present */ 479 /* 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)
205 if (!user_mode(regs)) 205 if (!user_mode(regs))
206 return; 206 return;
207 207
208 if (try_to_freeze())
209 goto no_signal;
210
211 signo = get_signal_to_deliver(&info, &sigact, regs, NULL); 208 signo = get_signal_to_deliver(&info, &sigact, regs, NULL);
212 209
213 if (signo > 0) { 210 if (signo > 0) {
@@ -215,7 +212,6 @@ static void do_signal(struct pt_regs *regs)
215 return; 212 return;
216 } 213 }
217 214
218no_signal:
219 /* 215 /*
220 * If we came from a system call, handle the restart. 216 * If we came from a system call, handle the restart.
221 */ 217 */
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)
320 if (!user_mode(regs)) 320 if (!user_mode(regs))
321 return; 321 return;
322 322
323 if (try_to_freeze())
324 goto no_signal;
325
326 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 323 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
327 if (signr > 0) { 324 if (signr > 0) {
328 /* Re-enable any watchpoints before delivering the 325 /* Re-enable any watchpoints before delivering the
@@ -337,7 +334,6 @@ static void do_signal(struct pt_regs *regs)
337 return; 334 return;
338 } 335 }
339 336
340 no_signal:
341 /* Did we come from a system call? */ 337 /* Did we come from a system call? */
342 if (regs->syscall_nr >= 0) { 338 if (regs->syscall_nr >= 0) {
343 /* Restart the system call - no handlers present */ 339 /* 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)
396 if (!user_mode(regs)) 396 if (!user_mode(regs))
397 return; 397 return;
398 398
399 if (try_to_freeze())
400 goto no_signal;
401
402 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 399 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
403 if (signr > 0) { 400 if (signr > 0) {
404 handle_signal(signr, &ka, &info, regs, syscall); 401 handle_signal(signr, &ka, &info, regs, syscall);
405 return; 402 return;
406 } 403 }
407 404
408 no_signal:
409 /* 405 /*
410 * No signal to deliver to the process - restart the syscall. 406 * No signal to deliver to the process - restart the syscall.
411 */ 407 */
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)
453 int signr; 453 int signr;
454 struct k_sigaction ka; 454 struct k_sigaction ka;
455 455
456 if (try_to_freeze())
457 goto no_signal;
458
459 task_pt_regs(current)->icountlevel = 0; 456 task_pt_regs(current)->icountlevel = 0;
460 457
461 signr = get_signal_to_deliver(&info, &ka, regs, NULL); 458 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
@@ -506,7 +503,6 @@ static void do_signal(struct pt_regs *regs)
506 return; 503 return;
507 } 504 }
508 505
509no_signal:
510 /* Did we come from a system call? */ 506 /* Did we come from a system call? */
511 if ((signed) regs->syscall >= 0) { 507 if ((signed) regs->syscall >= 0) {
512 /* Restart the system call - no handlers present */ 508 /* Restart the system call - no handlers present */