diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-27 01:18:52 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-01 12:58:49 -0400 |
commit | bf343dfd877ebf16cfbc31ba121606c5b6cef01f (patch) | |
tree | 2829c831f6a517fb4e12b891bf03e12958fb1819 | |
parent | a610d6e672d6d3723e8da257ad4a8a288a8f2f89 (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.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) | |||
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 | ||
503 | no_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 | ||
218 | no_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 | ||
509 | no_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 */ |