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

Re: [Xen-devel] [PATCHv2] xen/x86: don't corrupt %eip when returning from a signal handler



>>> On 19.10.12 at 17:44, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
> On 19/10/12 16:29, Jan Beulich wrote:
>>>>> On 17.10.12 at 15:29, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
>>> @@ -1078,7 +1078,7 @@ ENDPROC(xen_hypervisor_callback)
>>>  # We distinguish between categories by maintaining a status value in EAX.
>>>  ENTRY(xen_failsafe_callback)
>>>     CFI_STARTPROC
>>> -   pushl_cfi %eax
>>> +   pushl_cfi $-1  /* orig_ax = -1 => not a system call */
>> 
>> While making this apply to the 2.6.18 tree, I noticed that you
>> replaced the wrong push here, thus causing register corruption.
>> Just like on the 64-bit side, the one that needs fixing is the one
>> right before the SAVE_ALL (and hence it's again not just for
>> consistency, as zero is being pushed there too).
> 
> Oops.
> 
> We would have liked to test this path but could not see how to.  Do you
> have any ideas?

I'm not aware of a way to reliably trigger this without adding
assisting code to the kernel.

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®.