Re: [PATCH 13/18] x86 vDSO: ia32 sysenter_return

From: Zachary Amsden
Date: Tue Nov 20 2007 - 19:02:22 EST


On Mon, 2007-11-19 at 14:06 -0800, Roland McGrath wrote:
> This changes the 64-bit kernel's support for the 32-bit sysenter
> instruction to use stored fields rather than constants for the
> user-mode return address, as the 32-bit kernel does. This adds a
> sysenter_return field to struct thread_info, as 32-bit has. There
> is no observable effect from this yet. It makes the assembly code
> independent of the 32-bit vDSO mapping address, paving the way for
> making the vDSO address vary as it does on the 32-bit kernel.

I hope you won't carry the dependency of COMPAT_VDSO over to 64-bit when
that happens.

> @@ -104,7 +103,7 @@ ENTRY(ia32_sysenter_target)
> pushfq
> CFI_ADJUST_CFA_OFFSET 8
> /*CFI_REL_OFFSET rflags,0*/
> - movl $VSYSCALL32_SYSEXIT, %r10d
> + movl 8*3-THREAD_SIZE+threadinfo_sysenter_return(%rsp), %r10d

8*3-THREAD_SIZE is not very intuitive. Can you add a comment on the
math?

Zach

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/