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

Re: [Xen-devel] Segment registers at top of stack



>>> On 03.01.13 at 17:00, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
> While debugging an issue of 0xdeadbeef's appearing in a crash report, I 
> have discovered that the es thru gs entries in cpu_user_regs appear to 
> be completely unused on a 64bit hypervisor per-cpu stack.
> 
> In 64bit mode, all segment register changes happen in 
> {load,save}segments().  The only code I can find which ever sets these 
> values is the NDEBUG poisoning on the VMX/SVM vmexit hypervisor entry paths.
> 
> If the values are indeed completely unused, would it be sensible to 
> remove them from the per-cpu stacks as we have now dropped support for 
> the 32bit hypervisor (which certainly does use them)?

Doing that would imply breaking the association of there being
a struct cpu_user_regs close to the end of the stack - I'm sure
you realize that you can't drop these fields from that structure.
I think that would uglify the code enough to warrant keeping
the fields instead. Of course you're free to prove the contrary.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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