diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2020-01-08 20:31:17 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2020-01-08 20:31:17 +0000 |
commit | ece309cd9e6b4b76178dc2eae755d34da4770cd2 (patch) | |
tree | e38be0a39f646559676ee0caf4ef07c4150dc6fc /Makefile.am | |
parent | 9a7c7203733e9ac95e9301d015ae653dc92b817b (diff) | |
download | strace-ece309cd9e6b4b76178dc2eae755d34da4770cd2.tar.gz |
s390: workaround Linux kernel bug in syscall_get_nr
Apparently, arch/s390/include/asm/syscall.h:syscall_get_nr() returns 0
for out-of-range syscall numbers.
This kernel bug is exposed via PTRACE_GET_SYSCALL_INFO interface.
Workaround it by falling back to get_regs() for the zero syscall number.
* linux/s390/check_scno.c: New file.
* linux/s390x/check_scno.c: Likewise.
* Makefile.am (EXTRA_DIST): Add them.
* syscall.c (get_scno): Update comment.
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index e61edb260..bd1ec3c58 100644 --- a/Makefile.am +++ b/Makefile.am @@ -758,6 +758,7 @@ EXTRA_DIST = \ linux/s390/arch_defs_.h \ linux/s390/arch_regs.c \ linux/s390/arch_sigreturn.c \ + linux/s390/check_scno.c \ linux/s390/get_error.c \ linux/s390/get_scno.c \ linux/s390/get_syscall_args.c \ @@ -775,6 +776,7 @@ EXTRA_DIST = \ linux/s390x/arch_get_personality.c \ linux/s390x/arch_regs.c \ linux/s390x/arch_sigreturn.c \ + linux/s390x/check_scno.c \ linux/s390x/get_error.c \ linux/s390x/get_scno.c \ linux/s390x/get_syscall_args.c \ |