From 82f12ef853b400c263c595a3ccae24082cdb042d Mon Sep 17 00:00:00 2001 From: Bodo Stroesser Date: Sat, 4 Jun 2005 15:43:32 -0700 Subject: [PATCH] --- yaml --- r: 1831 b: refs/heads/master c: c5c3a6d8fe923b8780b9cd10e72344b8cf8518b5 h: refs/heads/master i: 1829: 27e5a1b6241dbbd80b355016d6529df01a237b99 1827: 054bdc2980a3dca4f99bdfc716185069e2c208a0 1823: a6d42113900b2ac1f53cb6c1780bd5d210a3f6dd v: v3 --- [refs] | 2 +- trunk/arch/s390/kernel/ptrace.c | 7 +++++++ trunk/include/asm-s390/user.h | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ecd78ca434ec..c1f4635719ed 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 778959db97c7ed8eed4025916916b17a4629ce3d +refs/heads/master: c5c3a6d8fe923b8780b9cd10e72344b8cf8518b5 diff --git a/trunk/arch/s390/kernel/ptrace.c b/trunk/arch/s390/kernel/ptrace.c index 329d9391c83d..06afa3103ace 100644 --- a/trunk/arch/s390/kernel/ptrace.c +++ b/trunk/arch/s390/kernel/ptrace.c @@ -760,6 +760,13 @@ syscall_trace(struct pt_regs *regs, int entryexit) ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) ? 0x80 : 0)); + /* + * If the debuffer has set an invalid system call number, + * we prepare to skip the system call restart handling. + */ + if (!entryexit && regs->gprs[2] >= NR_syscalls) + regs->trap = -1; + /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/trunk/include/asm-s390/user.h b/trunk/include/asm-s390/user.h index c64f8c181df3..1dc74baf03c4 100644 --- a/trunk/include/asm-s390/user.h +++ b/trunk/include/asm-s390/user.h @@ -10,7 +10,7 @@ #define _S390_USER_H #include -#include +#include /* Core file format: The core file is written in such a way that gdb can understand it and provide useful information to the user (under linux we use the 'trad-core' bfd). There are quite a number of