• Lorenzo Stoakes's avatar
    mm: make __access_remote_vm() static · c43cfa42
    Lorenzo Stoakes authored
    Patch series "various improvements to the GUP interface", v2.
    
    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.
    
    
    This patch (of 4):
    
    access_remote_vm() passes through parameters to __access_remote_vm()
    directly, so remove the __access_remote_vm() function from mm.h and use
    access_remote_vm() in the one caller that needs it (ptrace_access_vm()).
    
    This allows future adjustments to the GUP-internal __access_remote_vm()
    function while keeping the access_remote_vm() function stable.
    
    Link: https://lkml.kernel.org/r/cover.1696288092.git.lstoakes@gmail.com
    Link: https://lkml.kernel.org/r/f7877c5039ce1c202a514a8aeeefc5cdd5e32d19.1696288092.git.lstoakes@gmail.comSigned-off-by: default avatarLorenzo Stoakes <lstoakes@gmail.com>
    Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
    Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Hubbard <jhubbard@nvidia.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    c43cfa42
ptrace.c 37.2 KB