diff options
author | Jan Beulich <jbeulich@novell.com> | 2006-10-21 12:37:02 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-10-21 12:37:02 -0400 |
commit | cc7d479fe56133e79840beffe9cb4fd193af93aa (patch) | |
tree | 66ff47260029e21329c90bcd954c0764556e6b0b /arch/x86_64/kernel/entry.S | |
parent | 26fd5e084e470dbe8edc6f726fc918e89b9f988c (diff) |
[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/kernel/entry.S')
-rw-r--r-- | arch/x86_64/kernel/entry.S | 2 |
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: | |||
315 | LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */ | 315 | LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */ |
316 | RESTORE_REST | 316 | RESTORE_REST |
317 | cmpq $__NR_syscall_max,%rax | 317 | cmpq $__NR_syscall_max,%rax |
318 | movq $-ENOSYS,%rcx | ||
319 | cmova %rcx,%rax | ||
318 | ja 1f | 320 | ja 1f |
319 | movq %r10,%rcx /* fixup for C */ | 321 | movq %r10,%rcx /* fixup for C */ |
320 | call *sys_call_table(,%rax,8) | 322 | call *sys_call_table(,%rax,8) |