[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [RFC, PATCH 7/24] i386 Vmi memory hole

* Zachary Amsden (zach@xxxxxxxxxx) wrote:
> ENTRY(sysenter_entry)
>        movl TSS_sysenter_esp0(%esp),%esp
> sysenter_past_esp:
>        STI
>        pushl $(__USER_DS)
>        pushl %ebp
>        pushfl
>        pushl $(__USER_CS)
>        pushl $SYSENTER_RETURN
> SYSENTER_RETURN is a link time constant that is defined based on the 
> location of the vsyscall page.  If the vsyscall page can move, this can 
> not be a constant.  The reason is, this "fake" exception frame is used 
> to return back to the EIP of the call site, and sysenter does not record 
> the EIP of the call site.

It's only real issue for something like execshield.  For this it's easy
to do the fixed math since it's still at fixed address.


But execshield has to make SYSENTER_RETURN context sensitive to current
since the vdso is mapped at random location.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.