Re: [PATCH 1/3] mm/pagewalk.c: fix end address calculation in walk_page_range()

From: Kirill A. Shutemov
Date: Thu Feb 27 2014 - 16:20:53 EST


On Thu, Feb 27, 2014 at 04:19:01PM -0500, Naoya Horiguchi wrote:
> On Thu, Feb 27, 2014 at 01:03:23PM -0800, Andrew Morton wrote:
> > On Wed, 26 Feb 2014 23:39:35 -0500 Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> wrote:
> >
> > > When we try to walk over inside a vma, walk_page_range() tries to walk
> > > until vma->vm_end even if a given end is before that point.
> > > So this patch takes the smaller one as an end address.
> > >
> > > ...
> > >
> > > --- next-20140220.orig/mm/pagewalk.c
> > > +++ next-20140220/mm/pagewalk.c
> > > @@ -321,8 +321,9 @@ int walk_page_range(unsigned long start, unsigned long end,
> > > next = vma->vm_start;
> > > } else { /* inside the found vma */
> > > walk->vma = vma;
> > > - next = vma->vm_end;
> > > - err = walk_page_test(start, end, walk);
> > > + next = min_t(unsigned long, end, vma->vm_end);
> >
> > min_t is unneeded, isn't it? Everything here has type unsigned long.
>
> Yes, so simply (end < vma->vm_end ? end: vma->vm_end) is enough.
> # I just considered min_t as simple minimum getter without thinking type check.

We have non-typed min() for that.

--
Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/