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>