linux/include
Lorenzo Stoakes ca5e863233 mm/gup: remove vmas parameter from get_user_pages_remote()
The only instances of get_user_pages_remote() invocations which used the
vmas parameter were for a single page which can instead simply look up the
VMA directly. In particular:-

- __update_ref_ctr() looked up the VMA but did nothing with it so we simply
  remove it.

- __access_remote_vm() was already using vma_lookup() when the original
  lookup failed so by doing the lookup directly this also de-duplicates the
  code.

We are able to perform these VMA operations as we already hold the
mmap_lock in order to be able to call get_user_pages_remote().

As part of this work we add get_user_page_vma_remote() which abstracts the
VMA lookup, error handling and decrementing the page reference count should
the VMA lookup fail.

This forms part of a broader set of patches intended to eliminate the vmas
parameter altogether.

[akpm@linux-foundation.org: avoid passing NULL to PTR_ERR]
Link: https://lkml.kernel.org/r/d20128c849ecdbf4dd01cc828fcec32127ed939a.1684350871.git.lstoakes@gmail.com
Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> (for arm64)
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com> (for s390)
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Sean Christopherson <seanjc@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-06-09 16:25:26 -07:00
..
acpi Power management updates for 6.4-rc1 2023-04-25 18:44:10 -07:00
asm-generic vmlinux.lds.h: Discard .note.gnu.property section 2023-05-16 06:30:50 -07:00
clocksource
crypto This update includes the following changes: 2023-04-26 08:32:52 -07:00
drm drm: fix drmm_mutex_init() 2023-05-22 12:23:50 +02:00
dt-bindings - mailbox api: allow direct registration to a channel 2023-05-07 10:17:33 -07:00
keys
kunit
kvm s390: 2023-05-01 12:06:20 -07:00
linux mm/gup: remove vmas parameter from get_user_pages_remote() 2023-06-09 16:25:26 -07:00
math-emu
media media: dvb-core: Fix use-after-free due to race at dvb_register_device() 2023-05-14 06:30:58 +01:00
memory
misc
net net/handshake: Enable the SNI extension to work properly 2023-05-24 22:05:24 -07:00
pcmcia
ras
rdma
rv
scsi Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
soc Nothing looks out of the ordinary in this batch of clk driver updates. There 2023-04-29 17:29:39 -07:00
sound ASoC: Intel: avs: Account for UID of ACPI device 2023-05-22 11:18:24 +01:00
target
trace NFSD 6.4 Release Notes 2023-04-29 11:04:14 -07:00
uapi cachestat: implement cachestat syscall 2023-06-09 16:25:16 -07:00
ufs scsi: ufs: core: Rename symbol sizeof_utp_transfer_cmd_desc() 2023-05-16 21:07:26 -04:00
vdso
video
xen