[CRIU] [PATCH] aio: Restore aio ring content

Pavel Emelyanov xemul at virtuozzo.com
Thu Mar 10 05:46:24 PST 2016


> @@ -1038,8 +1039,10 @@ long __export_restore_task(struct task_restore_args *args)
>  			goto core_restore_end;
>  		}
>  
> -		if (ctx == raio->addr) /* Lucky bastards we are! */
> -			continue;
> +		count = raio->len/sizeof(unsigned long);
> +		for (i = 0; i < count; i++)
> +			((unsigned long *)ctx)[i] = ring[i];
> +		sys_munmap(ring, raio->len);

Ring pages are connected to in-kernel structures, where's the guarantee, that
unmap + mmap of new stuff keeps this linkage?

Other than this, why can't we write directly into created by io_setup region?

>  
>  		/*
>  		 * If we failed to get the proper nr_req right and
> 
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
> .
> 



More information about the CRIU mailing list