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

Re: [Xen-devel] Livepatch for Xen 4.9



>>> Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> 10/03/16 4:18 PM >>>
>2) We could also do some form of restartable patching. That is seed the code 
>(where we are going to
>put a trampoline) with 'CC'. Then do memcpy over the the 'CC' the new 
>instructions (jump). If the
>NMI/MCE handler hits that code it would call the int3 - which we expand now to 
>take over and check
>whether the EIP is in the location which we just seeded with 'CC' - and if so 
>it can memcpy the
>trampoline code in (with a slight twist - we first memcpy the displacement, so 
>the start of a function
>would be say: CC 00 23 00 10 - and then we do a single write to replace 'CC' 
>with 'E9').
   
Careful here: How do you mean to return from the int3 handler? You mustn't use 
IRET
there, or else you unmask further NMIs.

Jan


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

 


Rackspace

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