[CRIU] Dealing with VDSO remap

Laurent Dufour ldufour at linux.vnet.ibm.com
Fri Mar 20 03:18:42 PDT 2015


On 20/03/2015 11:07, Cyrill Gorcunov wrote:
> On Fri, Mar 20, 2015 at 10:33:38AM +0100, Laurent Dufour wrote:
>>
>> You're right Cyrill, a kernel patch is required here. I wrote it and I'm
>> about to send it upstream.
>>
>> However, there is still a window that cannot be addressed: if a process
>> is checkpointed while it is handling a signal, then the checkpointed
>> stack will contain a reference to the former vDSO's sigreturn service. I
>> guess at restart time, there is a major chance that the restarted
>> process is core dumping when returning from the signal handler :(
>>
>> I can't see any way to address that.
>> May be someone have a great idea ?
> 
> Well, if I'm not missing something obvious here, for x86-64 the proxy
> vdso would handle that, because we map it at the place where original
> vdso was at the moment of checkpoint. Am I missing something?

You're right Cyrill, if the vDSO is mapped back to the address it has at
checkpoint time, then the checkpointed stack frame is good. If there is
a need for a new vDSO then the proxy would have to handle that.

I had to work on this vDSO proxy for ppc64, I put it on the back burner,
but it's now time to make it.



More information about the CRIU mailing list