[CRIU] [PATCH] criu: mem -- Dont skip pages for userns case

Andrey Vagin avagin at virtuozzo.com
Fri Apr 29 11:37:42 PDT 2016


I did this changes only to check the idea that a prolem is here.

When we know that it's here, we can fix it properly. Could you take a
look at [PATCH] kerndat: initialize zero_page_pfn to -1

On Fri, Apr 29, 2016 at 08:59:35PM +0300, Cyrill Gorcunov wrote:
> Former-patch-by: Andrew Vagin <avagin at openvz.org>
> Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
> ---
>  criu/mem.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/criu/mem.c b/criu/mem.c
> index 4d11a8d62a7f..47bc82692692 100644
> --- a/criu/mem.c
> +++ b/criu/mem.c
> @@ -102,7 +102,15 @@ static inline bool should_dump_page(VmaEntry *vmae, u64 pme)
>  		return false;
>  	if (pme & PME_SWAP)
>  		return true;
> -	if ((pme & PME_PRESENT) && ((pme & PME_PFRAME_MASK) != kdat.zero_page_pfn))
> +	/*
> +	 * FIXME For usernamespaces the addresses for page frames are filtered out
> +	 *
> +	 * pm.show_pfn = file_ns_capable(file, &init_user_ns, CAP_SYS_ADMIN);
> +	 *
> +	 * so use plain PME_PRESENT for a while. Need to compare with
> +	 * zero page under non-userns case only.
> +	 */
> +	if ((pme & PME_PRESENT))
>  		return true;
>  
>  	return false;
> -- 
> 2.5.5
> 


More information about the CRIU mailing list