Index: arch/x86/include/asm/signal.h =================================================================== --- arch/x86/include/asm/signal.h +++ arch/x86/include/asm/signal.h @@ -36,6 +36,7 @@ #include #ifndef __ASSEMBLY__ extern void do_signal(struct pt_regs *regs); +extern void nosig_restart_syscall(struct pt_regs *regs); #define __ARCH_HAS_SA_RESTORER Index: arch/x86/kernel/signal.c =================================================================== --- arch/x86/kernel/signal.c +++ arch/x86/kernel/signal.c @@ -812,6 +812,11 @@ return; } + nosig_restart_syscall(regs); +} + +void nosig_restart_syscall(struct pt_regs *regs); +{ /* Did we come from a system call? */ if (syscall_get_nr(current, regs) >= 0) { /* Restart the system call - no handlers present */