Re: [PATCH] tracing: Fix unmapping loop in tracing_mark_write

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 09 Feb 2015 15:33:58 -0800
Stephen Boyd <sboyd@xxxxxxxxxxxxxx> wrote:

> On 12/17/14 18:50, Vikram Mulukutla wrote:
> > Commit 6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce introduced
> > an array map_pages that contains the addresses returned by
> > kmap_atomic. However, when unmapping those pages, map_pages[0]
> > is unmapped before map_pages[1], breaking the nesting requirement
> > as specified in the documentation for kmap_atomic/kunmap_atomic.
> >
> > This was caught by the highmem debug code present in kunmap_atomic.
> > Fix the loop to do the unmapping properly.
> >
> > Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
> > Reported-by: Lime Yang <limey@xxxxxxxxxxxxxx>
> > Signed-off-by: Vikram Mulukutla <markivx@xxxxxxxxxxxxxx>
> > ---
> 
> ping? What happened to this patch?

Seems to have been lost in my INBOX.

Thanks for pointing it out. I'll add it to my 3.20 queue. Looks like it
should be marked for stable as well. As far back as 3.5 as I can tell.

-- Steve

> 
> >  kernel/trace/trace.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> > index ab76b7b..bceed34 100644
> > --- a/kernel/trace/trace.c
> > +++ b/kernel/trace/trace.c
> > @@ -4931,7 +4931,7 @@ tracing_mark_write(struct file *filp, const char __user *ubuf,
> >  	*fpos += written;
> >  
> >   out_unlock:
> > -	for (i = 0; i < nr_pages; i++){
> > +	for (i = nr_pages - 1; i >= 0; i--) {
> >  		kunmap_atomic(map_page[i]);
> >  		put_page(pages[i]);
> >  	}
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux