linux/drivers
John Hubbard dfa0a4fff1 IB/{core,hw,umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP
Convert infiniband to use the new pin_user_pages*() calls.

Also, revert earlier changes to Infiniband ODP that had it using
put_user_page().  ODP is "Case 3" in
Documentation/core-api/pin_user_pages.rst, which is to say, normal
get_user_pages() and put_page() is the API to use there.

The new pin_user_pages*() calls replace corresponding get_user_pages*()
calls, and set the FOLL_PIN flag.  The FOLL_PIN flag requires that the
caller must return the pages via put_user_page*() calls, but infiniband
was already doing that as part of an earlier commit.

Link: http://lkml.kernel.org/r/20200107224558.2362728-14-jhubbard@nvidia.com
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Björn Töpel <bjorn.topel@intel.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Leon Romanovsky <leonro@mellanox.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-01-31 10:30:37 -08:00
..
accessibility
acpi Merge branch 'core-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 08:20:54 -08:00
amba
android for-5.6/io_uring-vfs-2020-01-29 2020-01-29 18:53:37 -08:00
ata SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
auxdisplay
base SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
bcma Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
block SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
bluetooth
bus Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
cdrom
char Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
clk ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
clocksource The timekeeping and timers departement provides: 2020-01-27 16:47:05 -08:00
connector
counter
cpufreq ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
cpuidle
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
dax
dca
devfreq
dio
dma ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
dma-buf
edac ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
eisa
extcon
firewire
firmware Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
fpga
fsi
gnss
gpio This is the bulk of pin control changes for the v5.6 kernel cycle: 2020-01-29 09:51:36 -08:00
gpu y2038: core, driver and file system changes 2020-01-29 14:55:47 -08:00
greybus
hid Merge branch 'for-5.6/logitech' into for-linus 2020-01-27 15:49:49 +01:00
hsi
hv
hwmon ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
hwspinlock
hwtracing
i2c ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
i3c
ide
idle Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 12:46:42 -08:00
iio
infiniband IB/{core,hw,umem}: set FOLL_PIN via pin_user_pages*(), fix up ODP 2020-01-31 10:30:37 -08:00
input ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
interconnect
iommu ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
ipack
irqchip The interrupt departement provides: 2020-01-27 17:22:21 -08:00
isdn
leds
lightnvm
macintosh
mailbox
mcb
md - Fix DM core's potential for q->make_request_fn NULL pointer in the 2020-01-29 18:08:49 -08:00
media media/v4l2-core: set pages dirty upon releasing DMA buffers 2020-01-31 10:30:37 -08:00
memory
memstick
message
mfd
misc Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
mmc ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
mtd ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
mux
net ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use 2020-01-31 10:30:36 -08:00
nfc
ntb
nubus
nvdimm mm: Cleanup __put_devmap_managed_page() vs ->page_free() 2020-01-31 10:30:37 -08:00
nvme for-5.6/block-2020-01-27 2020-01-27 12:38:25 -08:00
nvmem
of
opp ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
oprofile
parisc
parport
pci ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
pcmcia
perf
phy USB/Thunderbolt/PHY driver updates for 5.6-rc1 2020-01-29 10:09:44 -08:00
pinctrl This is the bulk of pin control changes for the v5.6 kernel cycle: 2020-01-29 09:51:36 -08:00
platform goldish_pipe: convert to pin_user_pages() and put_user_page() 2020-01-31 10:30:37 -08:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
remoteproc
reset
rpmsg
rtc ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
s390 s390/qeth: remove HARDSETUP state 2020-01-26 15:20:32 +01:00
sbus
scsi SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
sfi
sh
siox
slimbus
soc ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
soundwire
spi ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
spmi
ssb
staging Staging/IIO patches for 5.6-rc1 2020-01-29 10:15:11 -08:00
target SCSI misc on 20200129 2020-01-29 18:16:16 -08:00
tc
tee Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2020-01-28 15:38:56 -08:00
thermal - Depromote debug print on the db8500 platform (Linus Walleij) 2020-01-28 16:31:08 -08:00
thunderbolt
tty TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
uio
usb USB/Thunderbolt/PHY driver updates for 5.6-rc1 2020-01-29 10:09:44 -08:00
vfio vfio: fix FOLL_LONGTERM use, simplify get_user_pages_remote() call 2020-01-31 10:30:37 -08:00
vhost
video TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
virt
virtio
visorbus
vlynq
vme Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
w1 Char/Misc driver changes for 5.6-rc1 2020-01-29 10:35:54 -08:00
watchdog ioremap changes for 5.6 2020-01-27 13:03:00 -08:00
xen
zorro
Kconfig
Makefile