[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