[CRIU] [PATCH 0/3] vdso proxy, v3

Cyrill Gorcunov gorcunov at openvz.org
Wed May 15 12:08:07 EDT 2013


On Wed, May 15, 2013 at 07:59:58PM +0400, Pavel Emelyanov wrote:
> On 05/15/2013 07:56 PM, Cyrill Gorcunov wrote:
> > Hi guys, here is vdso proxy series. The main change from
> > previous series are
> > 
> >  - runtime vdso is not longer copied but rather remapped at
> >    new place
> > 
> >  - parasite now can detect the new runtime vdso on dumping and
> >    skip it from writting to image
> > 
> > Please take a look, thanks! At moment I'm thinking on how to
> > test it automatically with zdtm help...
> 
> Does it
> 
> * inject vdso proxy _only_ when required

Proxy injected always, the case when we restore on same kernel
where we've been dumping is not yet covered. I will need to
compare content of vdso read from image with one provided by
a kernel. If content is the same -- we will simply ignore
generation of a proxy but rather reuse existing vdso.

> * detects existing proxy presence and _re_writes one

Here is what happens when we dump restored program with
new vdso injected

 - the dumper walks over r-x vmas and check for vdso
   signature with parasite help
 - if vdso signature found then
   - if the vdso is one carried from image -- we simply
     restore VMA_AREA_VDSO status for it but do not touch
     anything else
   - if the vdso is one created by criu on restore (ie where
     redirected calls are jumping) -- we simply drop this VMA
     from vma list to dump and its content never goes to disk

is that what you mean?

n.b. btw, don't merge this series until I found how to make
     a test on it, i'll ping you one it complete, wanted to
     share code early


More information about the CRIU mailing list