lkml.org 
[lkml]   [2019]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 03/16] mm: simplify gup_fast_permitted
On Sat, Jun 01, 2019 at 09:14:17AM -0700, Linus Torvalds wrote:
> On Sat, Jun 1, 2019 at 12:50 AM Christoph Hellwig <hch@lst.de> wrote:
> >
> > Pass in the already calculated end value instead of recomputing it, and
> > leave the end > start check in the callers instead of duplicating them
> > in the arch code.
>
> Good cleanup, except it's wrong.
>
> > - if (nr_pages <= 0)
> > + if (end < start)
> > return 0;
>
> You moved the overflow test to generic code - good.
>
> You removed the sign and zero test on nr_pages - bad.

I only removed a duplicate of it. The full (old) code in
get_user_pages_fast() looks like this:

if (nr_pages <= 0)
return 0;

if (unlikely(!access_ok((void __user *)start, len)))
return -EFAULT;

if (gup_fast_permitted(start, nr_pages)) {

\
 
 \ /
  Last update: 2019-06-03 09:42    [W:0.061 / U:8.384 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site