[CRIU] [PATCH] Add VDSO time function support for x86 32-bit kernel

H. Peter Anvin hpa at zytor.com
Fri Dec 14 13:47:53 EST 2012


On 12/14/2012 10:44 AM, Andy Lutomirski wrote:
>>
>> mremap() should work.  At the same time, the code itself is not going to
>> have any stability guarantees between kernel versions -- it obviously
>> cannot.
> 
> We could guarantee that the symbols in the vdso resolve to particular
> offsets within the vdso.  (Yes, this is ugly.)
> 
> Does criu support checkpointing with one version of a shared library
> and restoring with another?  If there are no textrels (or whatever the
> relocation type that actually modifies text as opposed to just the plt
> or got) then, in principle, it should be doable.  Otherwise some
> kernel help will be needed to checkpoint reliably on one kernel and
> restore somewhere else.
> 
> (This isn't a regression -- it's already broken.)
> 

The real issue is that happens if the process is checkpointed while
inside the vdso and now eip/rip or a stack frame points into the vdso.
This is not impossible or even unlikely, especially on 32 bits it is
downright likely.

	-hpa



More information about the CRIU mailing list