diff options
| -rw-r--r-- | arch/s390/kernel/ptrace.c | 7 | ||||
| -rw-r--r-- | include/asm-s390/user.h | 2 |
2 files changed, 8 insertions, 1 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 |
diff --git a/include/asm-s390/user.h b/include/asm-s390/user.h index c64f8c181df3..1dc74baf03c4 100644 --- a/include/asm-s390/user.h +++ b/include/asm-s390/user.h | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | #define _S390_USER_H | 10 | #define _S390_USER_H |
| 11 | 11 | ||
| 12 | #include <asm/page.h> | 12 | #include <asm/page.h> |
| 13 | #include <linux/ptrace.h> | 13 | #include <asm/ptrace.h> |
| 14 | /* Core file format: The core file is written in such a way that gdb | 14 | /* Core file format: The core file is written in such a way that gdb |
| 15 | can understand it and provide useful information to the user (under | 15 | can understand it and provide useful information to the user (under |
| 16 | linux we use the 'trad-core' bfd). There are quite a number of | 16 | linux we use the 'trad-core' bfd). There are quite a number of |
