|
@@ -362,6 +362,8 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+#define NR_restart_syscall \
|
|
|
+ test_thread_flag(TIF_IA32) ? __NR_ia32_restart_syscall : __NR_restart_syscall
|
|
|
/*
|
|
|
* Note that 'init' is a special process: it doesn't get signals it doesn't
|
|
|
* 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)
|
|
|
regs->ip -= 2;
|
|
|
break;
|
|
|
case -ERESTART_RESTARTBLOCK:
|
|
|
- regs->ax = test_thread_flag(TIF_IA32) ?
|
|
|
- __NR_ia32_restart_syscall :
|
|
|
- __NR_restart_syscall;
|
|
|
+ regs->ax = NR_restart_syscall;
|
|
|
regs->ip -= 2;
|
|
|
break;
|
|
|
}
|