All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] various improvements to the GUP interface
@ 2023-10-01 16:00 Lorenzo Stoakes
  2023-10-01 16:00 ` [PATCH 1/4] mm: make __access_remote_vm() static Lorenzo Stoakes
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Lorenzo Stoakes @ 2023-10-01 16:00 UTC (permalink / raw)
  To: linux-mm, linux-kernel, Andrew Morton, Catalin Marinas,
	Will Deacon, Peter Zijlstra, Ingo Molnar,
	Arnaldo Carvalho de Melo, Mark Rutland
  Cc: Alexander Shishkin, Jiri Olsa, Namhyung Kim, Ian Rogers,
	Adrian Hunter, Oleg Nesterov, Richard Cochran, Jason Gunthorpe,
	John Hubbard, Arnd Bergmann, Lorenzo Stoakes

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

 arch/arm64/kernel/mte.c |  4 ++--
 include/linux/mm.h      | 18 +++++++++++++-----
 kernel/events/uprobes.c |  4 ++--
 kernel/ptrace.c         |  2 +-
 mm/gup.c                | 16 +++++++++++++---
 mm/internal.h           |  3 +++
 mm/memory.c             |  7 +++----
 mm/nommu.c              |  4 ++--
 8 files changed, 39 insertions(+), 19 deletions(-)

-- 
2.42.0



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-10-09 22:24 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-01 16:00 [PATCH 0/4] various improvements to the GUP interface Lorenzo Stoakes
2023-10-01 16:00 ` [PATCH 1/4] mm: make __access_remote_vm() static Lorenzo Stoakes
2023-10-02 10:59   ` David Hildenbrand
2023-10-09 22:16   ` Jason Gunthorpe
2023-10-01 16:00 ` [PATCH 2/4] mm/gup: explicitly define and check internal GUP flags, disallow FOLL_TOUCH Lorenzo Stoakes
2023-10-02 11:00   ` David Hildenbrand
2023-10-09 22:19   ` Jason Gunthorpe
2023-10-01 16:00 ` [PATCH 3/4] mm/gup: make failure to pin an error if FOLL_NOWAIT not specified Lorenzo Stoakes
2023-10-02 11:04   ` David Hildenbrand
2023-10-02 22:51     ` Lorenzo Stoakes
2023-10-09 22:22       ` Jason Gunthorpe
2023-10-01 16:00 ` [PATCH 4/4] mm/gup: adapt get_user_page_vma_remote() to never return NULL Lorenzo Stoakes
2023-10-02 10:16   ` Catalin Marinas
2023-10-02 11:08   ` David Hildenbrand
2023-10-02 22:56     ` Lorenzo Stoakes
2023-10-09 22:24   ` Jason Gunthorpe
2023-10-01 17:39 ` [PATCH 0/4] various improvements to the GUP interface Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.