[PATCH] x86-64: Fix ENOSYS in system call tracing
authorJan Beulich <jbeulich@novell.com>
Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)
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>
arch/x86_64/kernel/entry.S

index 38a7b2d528e2e537b78d13bc83e36dbb25f79c10..038dcf733a1b30f501dcbf4504ab026819b62e73 100644 (file)
@@ -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)