[CRIU] [PATCH] restore: Don't unmap vdso proxy on final cleanup

Pavel Emelyanov xemul at parallels.com
Wed Oct 30 05:31:12 PDT 2013


On 10/30/2013 12:54 AM, Cyrill Gorcunov wrote:
> In case if we need to use vdso proxy the memory area
> which holds restorer also has a place for vdso proxy
> code itself, so on final pass we should not unmap it,
> otherwise any call to vdso function will cause sigsegv.
> 
> IOW, the memory before final "cleanup" pass of restorer
> might look as
> 
>     +-----------+---------+     +-------------+------+
>     | bootstrap | rt-vdso | ... | application | vdso |
>     +-----------+---------+     +-------------+------+
>                        ^                         |
>                        `-------------------------+
> 
> and we have redirected "vdso" code to jump to "rt-vdso".
> After final pass the memory must look as
> 
>                 +---------+     +-------------+------+
>                 | rt-vdso | ... | application | vdso |
>                 +---------+     +-------------+------+
>                        ^                         |
>                        `-------------------------+
> 
> I noticed this problem during container migration
> testing, the container itself was suspended on 2.6.32
> OpenVZ kernel with apache running inside, and any attempt
> to connect to apache caused apache to crash.
> 
> Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>

applied


More information about the CRIU mailing list