Re: [PATCH 0/4] various improvements to the GUP interface

From: Arnd Bergmann
Date: Sun Oct 01 2023 - 13:51:49 EST


On Sun, Oct 1, 2023, at 12:00, Lorenzo Stoakes wrote:
> A series of fixes to simplify and improve the GUP interface with an eye to
> providing groundwork to future improvements:-
>
> * __access_remote_vm() and access_remote_vm() are functionally identical,
> so make the former static such that in future we can potentially change
> the external-facing implementation details of this function.
>
> * Extend is_valid_gup_args() to cover the missing FOLL_TOUCH case, and
> simplify things by defining INTERNAL_GUP_FLAGS to check against.
>
> * Adjust __get_user_pages_locked() to explicitly treat a failure to pin any
> pages as an error in all circumstances other than FOLL_NOWAIT being
> specified, bringing it in line with the nommu implementation of this
> function.
>
> * (With many thanks to Arnd who suggested this in the first instance)
> Update get_user_page_vma_remote() to explicitly only return a page or an
> error, simplifying the interface and avoiding the questionable
> IS_ERR_OR_NULL() pattern.
>
> Lorenzo Stoakes (4):
> mm: make __access_remote_vm() static
> mm/gup: explicitly define and check internal GUP flags, disallow
> FOLL_TOUCH
> mm/gup: make failure to pin an error if FOLL_NOWAIT not specified
> mm/gup: adapt get_user_page_vma_remote() to never return NULL

I don't normally review mm patches, but I had a look since it was
started by my earlier feedback. It all looks good to me, very nice
cleanup!

Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>