diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kernel/ptrace.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 329d9391c83d..06afa3103ace 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c | |||
@@ -761,6 +761,13 @@ syscall_trace(struct pt_regs *regs, int entryexit) | |||
761 | ? 0x80 : 0)); | 761 | ? 0x80 : 0)); |
762 | 762 | ||
763 | /* | 763 | /* |
764 | * If the debuffer has set an invalid system call number, | ||
765 | * we prepare to skip the system call restart handling. | ||
766 | */ | ||
767 | if (!entryexit && regs->gprs[2] >= NR_syscalls) | ||
768 | regs->trap = -1; | ||
769 | |||
770 | /* | ||
764 | * this isn't the same as continuing with a signal, but it will do | 771 | * this isn't the same as continuing with a signal, but it will do |
765 | * for normal use. strace only continues with a signal if the | 772 | * for normal use. strace only continues with a signal if the |
766 | * stopping signal is not SIGTRAP. -brl | 773 | * stopping signal is not SIGTRAP. -brl |