Messages in this thread Patch in this message | | | From | Andi Kleen <> | Subject | Re: [discuss] [RFC] [PATCH] Double syscall exit traces on x86_64 | Date | Fri, 26 May 2006 12:36:26 +0200 |
| |
On Friday 26 May 2006 05:24, Jeff Dike wrote: > We are seeing double ptrace notifications of system call returns on recent > x86_64 kernels. This breaks UML and at least one other app.
I believe this patch is the correct fix. Can you confirm it works for you?
-Andi
Don't do syscall exit tracing twice
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>
Index: linux/arch/x86_64/kernel/entry.S =================================================================== --- linux.orig/arch/x86_64/kernel/entry.S +++ linux/arch/x86_64/kernel/entry.S @@ -282,12 +282,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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |