linux/drivers
John Hubbard 2170ecfa76 drm/i915: convert get_user_pages() --> pin_user_pages()
This code was using get_user_pages*(), in a "Case 2" scenario (DMA/RDMA),
using the categorization from [1].  That means that it's time to convert
the get_user_pages*() + put_page() calls to pin_user_pages*() +
unpin_user_pages() calls.

There is some helpful background in [2]: basically, this is a small part
of fixing a long-standing disconnect between pinning pages, and file
systems' use of those pages.

[1] Documentation/core-api/pin_user_pages.rst

[2] "Explicit pinning of user-space pages":
    https://lwn.net/Articles/807108/

Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Souptick Joarder <jrdr.linux@gmail.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: "Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Link: http://lkml.kernel.org/r/20200519002124.2025955-5-jhubbard@nvidia.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-03 20:09:42 -07:00
..
accessibility
acpi ACPI updates for 5.8-rc1 2020-06-02 13:25:52 -07:00
amba amba: Initialize dma_parms for amba devices 2020-04-28 17:44:34 +02:00
android Merge 5.6-rc7 into char-misc-next 2020-03-23 07:59:38 +01:00
ata for-5.8/block-2020-06-01 2020-06-02 15:29:19 -07:00
atm .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
auxdisplay Merge 5.6-rc7 into char-misc-next 2020-03-23 07:59:38 +01:00
base for-5.8/block-2020-06-01 2020-06-02 15:29:19 -07:00
bcma
block New code for 5.8: 2020-06-02 19:45:12 -07:00
bluetooth mmc: sdio: Move SDIO IDs from btmtksdio driver to common include file 2020-05-29 12:37:54 +02:00
bus bus: mhi: core: Fix some error return code 2020-05-15 16:32:20 +02:00
cdrom cdrom: factor out a cdrom_multisession helper 2020-05-04 10:13:42 -06:00
char drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
clk Power management updates for 5.8-rc1 2020-06-02 13:17:23 -07:00
clocksource clocksource/drivers/timer-vf-pit: Add missing parenthesis 2020-04-05 09:24:58 +02:00
connector connector/cn_proc: Protect send_msg() with a local lock 2020-05-28 10:31:10 +02:00
counter counter: 104-quad-8: Add lock guards - generic interface 2020-04-19 17:50:00 +01:00
cpufreq cpufreq: Fix up cpufreq_boost_set_sw() 2020-05-18 13:01:28 +02:00
cpuidle cpuidle: Fix three reference count leaks 2020-05-29 18:07:18 +02:00
crypto Merge branch 'uaccess.access_ok' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:09:43 -07:00
dax vfs: track per-sb writeback errors and report them to syncfs 2020-06-02 10:59:05 -07:00
dca
devfreq PM / devfreq: Use lockdep asserts instead of manual checks for locked mutex 2020-05-28 18:02:40 +09:00
dio
dma dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' 2020-05-19 22:26:01 +05:30
dma-buf drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
edac Merge branches 'edac-i10nm' and 'edac-misc' into edac-updates-for-5.8 2020-06-01 11:39:15 +02:00
eisa .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
extcon Char/Misc driver patches for 5.7-rc1 2020-04-03 13:22:40 -07:00
firewire firewire: switch ioctl_queue_iso to use of copy_from_user() 2020-04-23 10:51:05 -04:00
firmware Merge branch 'uaccess.access_ok' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:09:43 -07:00
fpga Merge branch 'uaccess.access_ok' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:09:43 -07:00
fsi
gnss
gpio gpio: fix locking open drain IRQ lines 2020-05-29 14:01:49 +02:00
gpu drm/i915: convert get_user_pages() --> pin_user_pages() 2020-06-03 20:09:42 -07:00
greybus
hid HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock 2020-05-04 11:24:58 +02:00
hsi
hv hyperv-fixes for 5.7-rc4 2020-04-27 13:28:27 -07:00
hwmon hwmon: Add Baikal-T1 PVT sensor driver 2020-05-28 07:59:45 -07:00
hwspinlock hwspinlock: hwspinlock_internal.h: Replace zero-length array with flexible-array member 2020-03-25 22:30:46 -07:00
hwtracing A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
i2c Merge branches 'pm-core' and 'pm-sleep' 2020-06-01 15:19:08 +02:00
i3c i3c master: GETMRL's 3rd byte is optional even with BCR_IBI_PAYLOAD 2020-04-16 14:27:46 +02:00
ide ide-cd: rename cdrom_read_tocentry 2020-05-04 10:13:42 -06:00
idle Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-03-30 16:40:08 -07:00
iio A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
infiniband Merge branch 'uaccess.access_ok' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:09:43 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2020-05-28 12:41:11 -07:00
interconnect interconnect: qcom: Move the static keyword to the front of declaration 2020-04-29 13:11:44 +02:00
iommu iommu: Fix reference count leak in iommu_group_alloc. 2020-05-29 15:27:50 +02:00
ipack ipack: tpci200: fix error return code in tpci200_register() 2020-05-15 16:32:20 +02:00
irqchip Merge branch 'irq/gic-v4.1-fixes-5.7' into irq/irqchip-5.7 2020-04-17 08:59:55 +01:00
isdn mISDN: make dmril and dmrim static 2020-04-16 13:52:31 -07:00
leds mailmap: change email for Ricardo Ribalda 2020-05-25 18:59:59 -06:00
lightnvm for-5.8/block-2020-06-01 2020-06-02 15:29:19 -07:00
macintosh via-pmu: don't bother with access_ok() 2020-05-29 11:05:54 -04:00
mailbox mailbox: imx: add SCU MU support 2020-03-19 23:04:32 -05:00
mcb
md for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
media MMC core: 2020-06-02 12:48:58 -07:00
memory ARM: driver updates 2020-04-03 15:05:35 -07:00
memstick
message scsi: message: fusion: Replace zero-length array with flexible-array member 2020-03-26 22:40:47 -04:00
mfd platform-drivers-x86 for v5.8-1 2020-06-02 12:56:58 -07:00
misc Power management updates for 5.8-rc1 2020-06-02 13:17:23 -07:00
mmc mmc: sdhci-msm: Clear tuning done flag while hs400 tuning 2020-06-01 08:04:40 +02:00
most most: core: use function subsys_initcall() 2020-04-28 15:04:09 +02:00
mtd for-5.8/block-2020-06-01 2020-06-02 15:29:19 -07:00
mux
net Power management updates for 5.8-rc1 2020-06-02 13:17:23 -07:00
nfc Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2020-06-01 12:00:10 -07:00
ntb pci-v5.7-changes 2020-04-03 14:25:02 -07:00
nubus
nvdimm nvdimm: use bio_{start,end}_io_acct 2020-05-27 05:21:23 -06:00
nvme for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
nvmem nvmem: core: remove nvmem_sysfs_get_groups() 2020-03-25 19:23:49 +01:00
of of: unittest: kmemleak in duplicate property update 2020-04-17 08:31:34 -05:00
opp opp: Manage empty OPP tables with clk handle 2020-04-13 16:14:55 +05:30
oprofile drivers/oprofile: Open access for CAP_PERFMON privileged process 2020-04-16 12:19:09 -03:00
parisc parisc: Replace setup_irq() by request_irq() 2020-04-05 22:05:23 +02:00
parport
pci ACPI updates for 5.8-rc1 2020-06-02 13:25:52 -07:00
pcmcia powerpc: add an ioremap_phb helper 2020-06-02 10:59:10 -07:00
perf arm64 updates for 5.8 2020-06-01 15:18:27 -07:00
phy phy: qualcomm: usb-hs-28nm: Prepare clocks in init 2020-04-30 12:10:49 +05:30
pinctrl pinctrl: qcom: Add affinity callbacks to msmgpio IRQ chip 2020-05-12 14:29:29 +02:00
platform platform-drivers-x86 for v5.8-1 2020-06-02 12:56:58 -07:00
pnp PNPBIOS: Replace zero-length array with flexible-array 2020-05-15 18:20:49 +02:00
power power: supply: bd70528: rename linear_range to avoid collision 2020-05-08 18:18:13 +01:00
powercap powercap: RAPL: remove unused local MSR define 2020-05-25 10:59:29 +02:00
pps
ps3 powerpc/ps3: Remove an unneeded NULL check 2020-04-03 00:09:59 +11:00
ptp ptp: Remove unneeded conversion to bool 2020-04-21 15:45:32 -07:00
pwm pwm: pca9685: Fix PWM/GPIO inter-operation 2020-04-03 21:41:42 +02:00
rapidio rapidio: fix an error in get_user_pages_fast() error handling 2020-05-23 10:26:31 -07:00
ras
regulator Merge remote-tracking branch 'regulator/for-5.8' into regulator-linus 2020-06-01 13:01:44 +01:00
remoteproc remoteproc fixes for v5.7 2020-04-23 09:28:15 -07:00
reset
rpmsg rpmsg: pull in slab.h 2020-04-17 06:05:29 -04:00
rtc - New Drivers 2020-04-07 19:48:52 -07:00
s390 for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
sbus
scsi for-5.8/drivers-2020-06-01 2020-06-02 15:37:03 -07:00
sfi
sh
siox
slimbus
soc Power management updates for 5.8-rc1 2020-06-02 13:17:23 -07:00
soundwire Char/Misc driver patches for 5.7-rc1 2020-04-03 13:22:40 -07:00
spi Merge remote-tracking branch 'spi/for-5.8' into spi-next 2020-05-30 00:03:53 +01:00
spmi
ssb
staging MMC core: 2020-06-02 12:48:58 -07:00
target scsi: target: Put lun_ref at end of tmr processing 2020-05-14 20:27:05 -04:00
tc
tee ARM: driver updates 2020-04-03 15:05:35 -07:00
thermal - Convert tsens configuration DT binding to yaml (Rajeshwari) 2020-04-07 20:00:16 -07:00
thunderbolt thunderbolt: Check return value of tb_sw_read() in usb4_switch_op() 2020-04-28 19:00:59 +02:00
tty Merge branch 'uaccess.access_ok' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:09:43 -07:00
uio
usb platform-drivers-x86 for v5.8-1 2020-06-02 12:56:58 -07:00
vdpa vdpasim: remove unused variable 'ret' 2020-05-11 06:44:12 -04:00
vfio vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() 2020-04-23 12:10:01 -06:00
vhost virtio: build warning fixes 2020-05-21 12:59:29 -07:00
video drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
virt virt: vbox: Use fallthrough; 2020-03-19 07:41:03 +01:00
virtio virtio-balloon: Avoid using the word 'report' when referring to free page hinting 2020-04-17 06:05:30 -04:00
visorbus
vlynq
vme
w1
watchdog watchdog: iTCO: fix link error 2020-05-06 15:49:24 +03:00
xen xen: branch for v5.7-rc2 2020-04-17 10:35:17 -07:00
zorro SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
Kconfig virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00
Makefile virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00