X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fi386%2Fkernel%2Fvsyscall-sysenter.S;h=76b728159403376456b118b7615ae5ef5a5ae3fb;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=6de83657aee9865123e05ee7a1a42976e45f4d14;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/arch/i386/kernel/vsyscall-sysenter.S b/arch/i386/kernel/vsyscall-sysenter.S index 6de83657a..76b728159 100644 --- a/arch/i386/kernel/vsyscall-sysenter.S +++ b/arch/i386/kernel/vsyscall-sysenter.S @@ -21,9 +21,6 @@ * instruction clobbers %esp, the user's %esp won't even survive entry * into the kernel. We store %esp in %ebp. Code in entry.S must fetch * arg6 from the stack. - * - * You can not use this vsyscall for the clone() syscall because the - * three dwords on the parent stack do not get copied to the child. */ .text .globl __kernel_vsyscall @@ -42,11 +39,11 @@ __kernel_vsyscall: /* 7: align return point with nop's to make disassembly easier */ .space 7,0x90 - /* 14: System call restart point is here! (SYSENTER_RETURN_OFFSET-2) */ + /* 14: System call restart point is here! (SYSENTER_RETURN - 2) */ jmp .Lenter_kernel /* 16: System call normal return point is here! */ - .globl SYSENTER_RETURN_OFFSET /* Symbol used by sysenter.c */ -SYSENTER_RETURN_OFFSET: + .globl SYSENTER_RETURN /* Symbol used by entry.S. */ +SYSENTER_RETURN: pop %ebp .Lpop_ebp: pop %edx