linux/drivers
Linus Torvalds ac351de9dd BACKPORT: make 'user_access_begin()' do 'access_ok()'
upstream commit 594cc251fd ("make 'user_access_begin()' do 'access_ok()'")

Originally, the rule used to be that you'd have to do access_ok()
separately, and then user_access_begin() before actually doing the
direct (optimized) user access.

But experience has shown that people then decide not to do access_ok()
at all, and instead rely on it being implied by other operations or
similar.  Which makes it very hard to verify that the access has
actually been range-checked.

If you use the unsafe direct user accesses, hardware features (either
SMAP - Supervisor Mode Access Protection - on x86, or PAN - Privileged
Access Never - on ARM) do force you to use user_access_begin().  But
nothing really forces the range check.

By putting the range check into user_access_begin(), we actually force
people to do the right thing (tm), and the range check vill be visible
near the actual accesses.  We have way too long a history of people
trying to avoid them.

Bug: 135368228
Change-Id: I4ca0e4566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-09-12 11:28:03 +00:00
..
accessibility
acpi ACPI/IORT: Fix off-by-one check in iort_dev_find_its_id() 2019-08-16 10:12:48 +02:00
amba
android This is the 4.19.64 stable release 2019-08-04 09:37:11 +02:00
ata libata: add SG safety checks in SFF pio transfers 2019-08-29 08:28:45 +02:00
atm atm: iphase: Fix Spectre v1 vulnerability 2019-08-09 17:52:29 +02:00
auxdisplay auxdisplay: panel: need to delete scan_timer when misc_register fails in panel_attach 2019-09-06 10:21:56 +02:00
base UPSTREAM: Make anon_inodes unconditional 2019-08-12 13:36:37 -04:00
bcma
block This is the 4.19.70 stable release 2019-09-06 12:08:42 +02:00
bluetooth Bluetooth: btqca: Add a short delay before downloading the NVM 2019-09-10 10:33:43 +01:00
bus bus: hisi_lpc: Add .remove method to avoid driver unbind crash 2019-09-06 10:22:20 +02:00
cdrom cdrom: Fix race condition in cdrom_sysctl_register 2019-04-05 22:33:10 +02:00
char UPSTREAM: Make anon_inodes unconditional 2019-08-12 13:36:37 -04:00
clk clk: socfpga: stratix10: fix rate caclulationg for cnt_clks 2019-08-29 08:28:49 +02:00
clocksource clocksource/drivers/exynos_mct: Increase priority over ARM arch timer 2019-07-26 09:14:12 +02:00
connector connector: fix unsafe usage of ->real_parent 2019-03-19 13:12:38 +01:00
cpufreq This is the 4.19.67 stable release 2019-08-16 11:27:10 +02:00
cpuidle BACKPORT: sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD 2019-03-21 16:25:26 -07:00
crypto crypto: ccp - Ignore unconfigured CCP device on suspend/resume 2019-09-06 10:22:21 +02:00
dax mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses 2019-05-22 07:37:40 +02:00
dca
devfreq
dio
dma omap-dma/omap_vout_vrfb: fix off-by-one fi value 2019-09-06 10:21:56 +02:00
dma-buf UPSTREAM: dma-buf: add show_fdinfo handler 2019-08-19 23:09:08 +00:00
edac EDAC: Fix global-out-of-bounds write when setting edac_mc_poll_msec 2019-07-26 09:14:13 +02:00
eisa
energy_model
extcon extcon: arizona: Disable mic detect if running when driver is removed 2019-05-31 06:46:23 -07:00
firewire
firmware This is the 4.19.67 stable release 2019-08-16 11:27:10 +02:00
fmc
fpga fpga-manager: altera-ps-spi: Fix build error 2019-07-31 07:27:10 +02:00
fsi fsi: scom: Don't abort operations for minor errors 2019-09-06 10:22:19 +02:00
gnss gnss: sirf: fix premature wakeup interrupt enable 2019-03-10 07:17:21 +01:00
gpio This is the 4.19.69 stable release 2019-09-02 17:39:29 +02:00
gpu BACKPORT: make 'user_access_begin()' do 'access_ok()' 2019-09-12 11:28:03 +00:00
hid HID: cp2112: prevent sleeping function called from invalid context 2019-09-10 10:33:49 +01:00
hsi
hv Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE 2019-08-29 08:28:51 +02:00
hwmon hwmon: (nct7802) Fix wrong detection of in4 presence 2019-08-16 10:12:51 +02:00
hwspinlock
hwtracing intel_th: pci: Add Tiger Lake support 2019-09-06 10:22:18 +02:00
i2c i2c: piix4: Fix port selection for AMD Family 16h Model 30h 2019-09-06 10:22:23 +02:00
ide ide: fix a typo in the settings proc file name 2019-01-31 08:14:42 +01:00
idle x86/cpu: Sanitize FAM6_ATOM naming 2019-05-14 19:17:53 +02:00
iio This is the 4.19.68 stable release 2019-08-25 14:19:34 +02:00
infiniband This is the 4.19.72 stable release 2019-09-10 10:48:21 +01:00
input Input: hyperv-keyboard: Use in-place iterator API in the channel callback 2019-09-10 10:33:49 +01:00
iommu iommu/dma: Handle SG length overflow better 2019-09-06 10:21:57 +02:00
ipack
irqchip irqchip/irq-imx-gpcv2: Forward irq type to parent 2019-08-25 10:47:53 +02:00
isdn isdn: hfcsusb: Fix mISDN driver crash caused by transfer buffer on the stack 2019-08-29 08:28:35 +02:00
leds leds: trigger: netdev: use memcpy in device_name_store 2019-05-04 09:20:22 +02:00
lightnvm lightnvm: pblk: fix freeing of merged pages 2019-07-26 09:14:09 +02:00
macintosh
mailbox mailbox: handle failed named mailbox channel request 2019-07-31 07:27:07 +02:00
mcb
md This is the 4.19.69 stable release 2019-09-02 17:39:29 +02:00
media omap-dma/omap_vout_vrfb: fix off-by-one fi value 2019-09-06 10:21:56 +02:00
memory memory: tegra: Fix integer overflow on tick value calculation 2019-05-25 18:23:32 +02:00
memstick memstick: Fix error cleanup path of memstick_init 2019-07-31 07:26:59 +02:00
message
mfd mfd: hi655x-pmic: Fix missing return value check for devm_regmap_init_mmio_clk 2019-07-31 07:27:03 +02:00
misc This is the 4.19.70 stable release 2019-09-06 12:08:42 +02:00
mmc This is the 4.19.70 stable release 2019-09-06 12:08:42 +02:00
mtd mtd: rawnand: micron: handle on-die "ECC-off" devices correctly 2019-08-06 19:06:54 +02:00
mux
net This is the 4.19.72 stable release 2019-09-10 10:48:21 +01:00
nfc st_nci_hci_connectivity_event_received: null check the allocation 2019-08-29 08:28:31 +02:00
ntb
nubus
nvdimm libnvdimm/bus: Fix wait_nvdimm_bus_probe_idle() ABBA deadlock 2019-08-09 17:52:28 +02:00
nvme nvme-multipath: fix possible I/O hang when paths are updated 2019-09-10 10:33:50 +01:00
nvmem nvmem: sunxi_sid: Support SID on A83T and H5 2019-06-15 11:54:07 +02:00
of This is the 4.19.49 stable release 2019-06-09 09:27:18 +02:00
opp This is the 4.19.21 stable release 2019-02-12 20:37:21 +01:00
oprofile
parisc parisc: Use implicit space register selection for loading the coherence index of I/O pdirs 2019-06-11 12:20:51 +02:00
parport parport: Fix mem leak in parport_register_dev_model 2019-06-25 11:35:55 +08:00
pci PCI: dwc: pci-dra7xx: Fix compilation when !CONFIG_GPIOLIB 2019-07-31 07:27:07 +02:00
pcmcia
perf drivers/perf: arm_pmu: Fix failure path in PM notifier 2019-08-06 19:06:55 +02:00
phy phy: renesas: rcar-gen2: Fix memory leak at error paths 2019-07-31 07:27:00 +02:00
pinctrl pinctrl: rockchip: fix leaked of_node references 2019-07-31 07:26:57 +02:00
platform platform/mellanox: mlxreg-hotplug: Add devm_free_irq call to remove flow 2019-07-10 09:53:38 +02:00
pnp
power power: supply: max14656: fix potential use-before-alloc 2019-06-15 11:54:09 +02:00
powercap x86/cpu: Sanitize FAM6_ATOM naming 2019-05-14 19:17:53 +02:00
pps drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl 2019-08-04 09:30:56 +02:00
ps3
ptp ptp: Fix pass zero to ERR_PTR() in ptp_clock_register 2019-02-12 19:47:01 +01:00
pwm Revert "pwm: Set class for exported channels in sysfs" 2019-08-25 10:47:46 +02:00
rapidio drivers/rapidio/devices/rio_mport_cdev.c: NUL terminate some strings 2019-08-06 19:06:52 +02:00
ras RAS/CEC: Fix pfn insertion 2019-07-26 09:14:05 +02:00
regulator regulator: s2mps11: Fix buck7 and buck8 wrong voltages 2019-07-26 09:14:22 +02:00
remoteproc
reset reset: meson-audio-arb: Fix missing .owner setting of reset_controller_dev 2019-05-08 07:21:47 +02:00
rpmsg
rtc rtc: pcf8523: don't return invalid date when battery is low 2019-06-19 08:18:07 +02:00
s390 s390/qdio: add sanity checks to the fast-requeue path 2019-08-16 10:12:46 +02:00
sbus
scsi scsi: qla2xxx: Fix gnl.l memory leak on adapter init failure 2019-09-10 10:33:45 +01:00
sfi
sh
siox
slimbus slimbus: fix a potential NULL pointer dereference in of_qcom_slim_ngd_register 2019-05-31 06:46:14 -07:00
sn
soc soc: bcm: brcmstb: biuctrl: Register writes require a barrier 2019-07-14 08:11:03 +02:00
soundwire soundwire: cadence_master: fix definitions for INTSTAT0/1 2019-09-06 10:21:56 +02:00
spi This is the 4.19.72 stable release 2019-09-10 10:48:21 +01:00
spmi
ssb ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit 2019-05-31 06:46:04 -07:00
staging staging: comedi: dt3000: Fix rounding up of timer divisor 2019-08-25 10:47:59 +02:00
target scsi: target: tcmu: avoid use-after-free after command timeout 2019-09-10 10:33:45 +01:00
tc
tee tee: optee: avoid possible double list_del() 2019-02-12 19:47:08 +01:00
thermal This is the 4.19.51 stable release 2019-06-15 16:12:59 +02:00
thunderbolt thunderbolt: property: Fix a NULL pointer dereference 2019-05-31 06:46:31 -07:00
tty tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop 2019-08-16 10:12:50 +02:00
uio
usb This is the 4.19.70 stable release 2019-09-06 12:08:42 +02:00
uwb
vfio UPSTREAM: Make anon_inodes unconditional 2019-08-12 13:36:37 -04:00
vhost vhost: scsi: add weight support 2019-08-04 09:30:55 +02:00
video video: imsttfb: fix potential NULL pointer dereferences 2019-06-15 11:54:10 +02:00
virt drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl 2019-05-16 19:41:31 +02:00
virtio virtio_pci: fix a NULL pointer reference in vp_del_vqs 2019-05-10 17:54:08 +02:00
visorbus
vlynq
vme
w1 w1: fix the resume command API 2019-05-31 06:46:14 -07:00
watchdog watchdog: bcm2835_wdt: Fix module autoload 2019-09-06 10:22:02 +02:00
xen xen/pciback: remove set but not used variable 'old_state' 2019-08-25 10:47:52 +02:00
zorro
Kconfig
Makefile