aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-10-21 18:37:02 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-10-21 18:37:02 +0200
commitcc7d479fe56133e79840beffe9cb4fd193af93aa (patch)
tree66ff47260029e21329c90bcd954c0764556e6b0b /arch/x86_64
parent[PATCH] i386: Fix fake return address (diff)
downloadlinux-dev-cc7d479fe56133e79840beffe9cb4fd193af93aa.tar.xz
linux-dev-cc7d479fe56133e79840beffe9cb4fd193af93aa.zip
[PATCH] x86-64: Fix ENOSYS in system call tracing
This patch: - out of range system calls failing to return -ENOSYS under system call tracing [AK: split out from another patch by Jan as separate bugfix] Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/x86_64')
-rw-r--r--arch/x86_64/kernel/entry.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index 38a7b2d528e2..038dcf733a1b 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -315,6 +315,8 @@ tracesys:
LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */
RESTORE_REST
cmpq $__NR_syscall_max,%rax
+ movq $-ENOSYS,%rcx
+ cmova %rcx,%rax
ja 1f
movq %r10,%rcx /* fixup for C */
call *sys_call_table(,%rax,8)