lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 24 May 2020 18:06:55 -0700 From: John Hubbard <jhubbard@...dia.com> To: Souptick Joarder <jrdr.linux@...il.com>, <paulus@...abs.org>, <mpe@...erman.id.au>, <benh@...nel.crashing.org>, <akpm@...ux-foundation.org>, <peterz@...radead.org>, <mingo@...hat.com>, <acme@...nel.org>, <mark.rutland@....com>, <alexander.shishkin@...ux.intel.com>, <jolsa@...hat.com>, <namhyung@...nel.org>, <pbonzini@...hat.com>, <sfr@...b.auug.org.au>, <rppt@...ux.ibm.com>, <aneesh.kumar@...ux.ibm.com>, <msuchanek@...e.de> CC: <kvm-ppc@...r.kernel.org>, <linuxppc-dev@...ts.ozlabs.org>, <linux-kernel@...r.kernel.org>, <linux-mm@...ck.org>, <kvm@...r.kernel.org>, Matthew Wilcox <willy@...radead.org> Subject: Re: [linux-next RFC v2] mm/gup.c: Convert to use get_user_{page|pages}_fast_only() On 2020-05-23 21:27, Souptick Joarder wrote: > API __get_user_pages_fast() renamed to get_user_pages_fast_only() > to align with pin_user_pages_fast_only(). > > As part of this we will get rid of write parameter. Instead caller > will pass FOLL_WRITE to get_user_pages_fast_only(). This will not > change any existing functionality of the API. > > All the callers are changed to pass FOLL_WRITE. This looks good. A few nits below, but with those fixed, feel free to add: Reviewed-by: John Hubbard <jhubbard@...dia.com> > > There are few places where 1 is passed to 2nd parameter of > __get_user_pages_fast() and return value is checked for 1 > like [1]. Those are replaced with new inline > get_user_page_fast_only(). > > [1] if (__get_user_pages_fast(hva, 1, 1, &page) == 1) > We try to avoid talking *too* much about the previous version of the code. Just enough. So, instead of the above two paragraphs, I'd compress it down to: Also: introduce get_user_page_fast_only(), and use it in a few places that hard-code nr_pages to 1. ... > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 93d93bd..8d4597f 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1817,10 +1817,16 @@ extern int mprotect_fixup(struct vm_area_struct *vma, > /* > * doesn't attempt to fault and will return short. > */ > -int __get_user_pages_fast(unsigned long start, int nr_pages, int write, > - struct page **pages); > +int get_user_pages_fast_only(unsigned long start, int nr_pages, > + unsigned int gup_flags, struct page **pages); Silly nit: Can you please leave the original indentation in place? I don't normally comment about this, but I like the original indentation better, and it matches the pin_user_pages_fast() below, too. ... > @@ -2786,8 +2792,8 @@ static int internal_get_user_pages_fast(unsigned long start, int nr_pages, > * If the architecture does not support this function, simply return with no > * pages pinned. > */ > -int __get_user_pages_fast(unsigned long start, int nr_pages, int write, > - struct page **pages) > +int get_user_pages_fast_only(unsigned long start, int nr_pages, > + unsigned int gup_flags, struct page **pages) Same thing here: you've changed the original indentation, which was (arguably, but to my mind anyway) more readable, and for no reason. It still would have fit within 80 cols. I'm sure it's a perfect 50/50 mix of people who prefer either indentation style, and so for brand new code, I'll remain silent, as long as it is consistent with either itself and/or the surrounding code. But changing it back and forth is a bit aggravating, and best avoided. :) thanks, -- John Hubbard NVIDIA
Powered by blists - more mailing lists