[CRIU] [PATCH] pagema-cache: Don't exceed task size on hight bound

Cyrill Gorcunov gorcunov at gmail.com
Tue Feb 18 07:36:48 PST 2014


On Tue, Feb 18, 2014 at 07:23:52PM +0400, Pavel Emelyanov wrote:
> On 02/18/2014 05:29 PM, Cyrill Gorcunov wrote:
> > If area is close to TASK_SIZE limit the high address
> > may exceed it returning error once we try to read
> > pagemap file. So limit the high address.
> 
> Does it fix the error I sent to you?

Yes it should.

> > Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
> > ---
> >  pagemap-cache.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/pagemap-cache.c b/pagemap-cache.c
> > index 904347fc9ded..b102345cae6e 100644
> > --- a/pagemap-cache.c
> > +++ b/pagemap-cache.c
> > @@ -66,6 +66,9 @@ static int pmc_fill_cache(pmc_t *pmc, struct vma_area *vma)
> >  	size_t len = vma_area_len(vma);
> >  	size_t size_map;
> >  
> > +	if (high > TASK_SIZE)
> > +		high = TASK_SIZE;
> 
> Is it the proper place? What if we attach yet another vma and move the
> pmc->end right, should we limit it as well?

I think so. The @high is a bound for cache. The VMAs we're caching and
writing to image are never exceed TASK_SIZE.


More information about the CRIU mailing list