aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>2008-09-05 19:27:39 -0400
committerIngo Molnar <mingo@elte.hu>2008-09-06 08:54:02 -0400
commit8fcd8e20f388d787f6abf701b11037b122029d5b (patch)
tree72a4b396864b72322cd047e73ff473832f09229b /arch/x86
parent72fa50f4ef9014f4212945b766af84ea94308903 (diff)
x86: signal: make NR_restart_syscall
make NR_restart_syscall macro for cosmetic unification of handle_signal(). Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/signal_32.c3
-rw-r--r--arch/x86/kernel/signal_64.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c
index 76d05d703845..bd9b65031a9a 100644
--- a/arch/x86/kernel/signal_32.c
+++ b/arch/x86/kernel/signal_32.c
@@ -572,6 +572,7 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka,
572 return 0; 572 return 0;
573} 573}
574 574
575#define NR_restart_syscall __NR_restart_syscall
575/* 576/*
576 * Note that 'init' is a special process: it doesn't get signals it doesn't 577 * Note that 'init' is a special process: it doesn't get signals it doesn't
577 * want to handle. Thus you cannot kill init even with a SIGKILL even by 578 * want to handle. Thus you cannot kill init even with a SIGKILL even by
@@ -635,7 +636,7 @@ static void do_signal(struct pt_regs *regs)
635 break; 636 break;
636 637
637 case -ERESTART_RESTARTBLOCK: 638 case -ERESTART_RESTARTBLOCK:
638 regs->ax = __NR_restart_syscall; 639 regs->ax = NR_restart_syscall;
639 regs->ip -= 2; 640 regs->ip -= 2;
640 break; 641 break;
641 } 642 }
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c
index 823a55bf8c39..19e2b9143205 100644
--- a/arch/x86/kernel/signal_64.c
+++ b/arch/x86/kernel/signal_64.c
@@ -362,6 +362,8 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka,
362 return ret; 362 return ret;
363} 363}
364 364
365#define NR_restart_syscall \
366 test_thread_flag(TIF_IA32) ? __NR_ia32_restart_syscall : __NR_restart_syscall
365/* 367/*
366 * Note that 'init' is a special process: it doesn't get signals it doesn't 368 * Note that 'init' is a special process: it doesn't get signals it doesn't
367 * want to handle. Thus you cannot kill init even with a SIGKILL even by 369 * want to handle. Thus you cannot kill init even with a SIGKILL even by
@@ -423,9 +425,7 @@ static void do_signal(struct pt_regs *regs)
423 regs->ip -= 2; 425 regs->ip -= 2;
424 break; 426 break;
425 case -ERESTART_RESTARTBLOCK: 427 case -ERESTART_RESTARTBLOCK:
426 regs->ax = test_thread_flag(TIF_IA32) ? 428 regs->ax = NR_restart_syscall;
427 __NR_ia32_restart_syscall :
428 __NR_restart_syscall;
429 regs->ip -= 2; 429 regs->ip -= 2;
430 break; 430 break;
431 } 431 }