Re: [PATCH v3] mm: gup: fix comments of __get_user_pages() and get_user_pages_remote()

From: John Hubbard
Date: Thu Oct 31 2019 - 18:39:04 EST


On 10/30/19 6:52 AM, Liu Xiang wrote:
> Fix comments of __get_user_pages() and get_user_pages_remote(),
> make them more clear.
>
> Suggested-by: John Hubbard <jhubbard@xxxxxxxxxx>
> Signed-off-by: Liu Xiang <liuxiang_1999@xxxxxxx>
>
> ---
>
> Changes in v3:
> as suggested by John, apply the same fix to get_user_pages_remote().
> ---
> mm/gup.c | 32 ++++++++++++++++++++++----------
> 1 file changed, 22 insertions(+), 10 deletions(-)


Reviewed-by: John Hubbard <jhubbard@xxxxxxxxxx>

thanks,
--
John Hubbard
NVIDIA

>
> diff --git a/mm/gup.c b/mm/gup.c
> index 8f236a3..c36c621 100644
> --- a/mm/gup.c
> +++ b/mm/gup.c
> @@ -734,11 +734,17 @@ static int check_vma_flags(struct vm_area_struct *vma, unsigned long gup_flags)
> * Or NULL if the caller does not require them.
> * @nonblocking: whether waiting for disk IO or mmap_sem contention
> *
> - * Returns number of pages pinned. This may be fewer than the number
> - * requested. If nr_pages is 0 or negative, returns 0. If no pages
> - * were pinned, returns -errno. Each page returned must be released
> - * with a put_page() call when it is finished with. vmas will only
> - * remain valid while mmap_sem is held.
> + * Returns either number of pages pinned (which may be less than the
> + * number requested), or an error. Details about the return value:
> + *
> + * -- If nr_pages is 0, returns 0.
> + * -- If nr_pages is >0, but no pages were pinned, returns -errno.
> + * -- If nr_pages is >0, and some pages were pinned, returns the number of
> + * pages pinned. Again, this may be less than nr_pages.
> + *
> + * The caller is responsible for releasing returned @pages, via put_page().
> + *
> + * @vmas are valid only as long as mmap_sem is held.
> *
> * Must be called with mmap_sem held. It may be released. See below.
> *
> @@ -1107,11 +1113,17 @@ static __always_inline long __get_user_pages_locked(struct task_struct *tsk,
> * subsequently whether VM_FAULT_RETRY functionality can be
> * utilised. Lock must initially be held.
> *
> - * Returns number of pages pinned. This may be fewer than the number
> - * requested. If nr_pages is 0 or negative, returns 0. If no pages
> - * were pinned, returns -errno. Each page returned must be released
> - * with a put_page() call when it is finished with. vmas will only
> - * remain valid while mmap_sem is held.
> + * Returns either number of pages pinned (which may be less than the
> + * number requested), or an error. Details about the return value:
> + *
> + * -- If nr_pages is 0, returns 0.
> + * -- If nr_pages is >0, but no pages were pinned, returns -errno.
> + * -- If nr_pages is >0, and some pages were pinned, returns the number of
> + * pages pinned. Again, this may be less than nr_pages.
> + *
> + * The caller is responsible for releasing returned @pages, via put_page().
> + *
> + * @vmas are valid only as long as mmap_sem is held.
> *
> * Must be called with mmap_sem held for read or write.
> *
>