[CRIU] [PATCH 4/5] dump: Escape double dumping of mangled vDSO

Cyrill Gorcunov gorcunov at openvz.org
Mon May 20 08:40:00 EDT 2013


On Mon, May 20, 2013 at 04:28:42PM +0400, Pavel Emelyanov wrote:
> On 05/16/2013 07:33 PM, Cyrill Gorcunov wrote:
> > 
> > When we dump restored program, if there two vdso present (one -- patched
> > old vdso and a new one where calls are redirected to) -- we need to skip
> > dumping second vdso. For what we examinate vdso memory with parasite help
> > and if special mark present -- we remove such vma from the list.
> 
> Then in case of restore on the same kernel again you'd go through proxify
> logic again. Why not dump all vmas always, but on restore check what and
> how we should proxify?

On restore we always analyze vdso data read from image, but to escape
reading second vdso (which we know will be dropped anyway and new one
taken from run-time kernel will be used instead) we detect it on dump
and simply dropping. The problem in "lets dump all and remove this
from vma list on restore" is that our restorer is implemented in
lazy manner -- the page contents read at late stage. So instead
I moved dropping logic to dump area.


More information about the CRIU mailing list