]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[PATCH] x86_64: Don't do syscall exit tracing twice
authorAndi Kleen <ak@suse.de>
Thu, 1 Jun 2006 01:26:58 +0000 (03:26 +0200)
committerChris Wright <chrisw@sous-sol.org>
Mon, 5 Jun 2006 17:18:14 +0000 (10:18 -0700)
This fixes a regression from the earlier DOS fix for non canonical
IRET addresses. It broke UML.

int_ret_from_syscall already does syscall exit tracing, so
no need to do it again in the caller.

This caused problems for UML and some other special programs doing
syscall interception.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86_64/kernel/entry.S

index ab6e44dcd1e964779d7a3eb5c0d27f3889904f5e..97583bb9122d977923c5f9c46a6c2b2dbc7b58d1 100644 (file)
@@ -281,12 +281,7 @@ tracesys:
        ja  1f
        movq %r10,%rcx  /* fixup for C */
        call *sys_call_table(,%rax,8)
-       movq %rax,RAX-ARGOFFSET(%rsp)
-1:     SAVE_REST
-       movq %rsp,%rdi
-       call syscall_trace_leave
-       RESTORE_TOP_OF_STACK %rbx
-       RESTORE_REST
+1:     movq %rax,RAX-ARGOFFSET(%rsp)
        /* Use IRET because user could have changed frame */
        jmp int_ret_from_sys_call
        CFI_ENDPROC