android_kernel_sony_sdm845/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alex Williamson 4f97abd571 vfio/type1: Limit DMA mappings per container
commit 492855939bdb59c6f947b0b5b44af9ad82b7e38c upstream.

Memory backed DMA mappings are accounted against a user's locked
memory limit, including multiple mappings of the same memory.  This
accounting bounds the number of such mappings that a user can create.
However, DMA mappings that are not backed by memory, such as DMA
mappings of device MMIO via mmaps, do not make use of page pinning
and therefore do not count against the user's locked memory limit.
These mappings still consume memory, but the memory is not well
associated to the process for the purpose of oom killing a task.

To add bounding on this use case, we introduce a limit to the total
number of concurrent DMA mappings that a user is allowed to create.
This limit is exposed as a tunable module option where the default
value of 64K is expected to be well in excess of any reasonable use
case (a large virtual machine configuration would typically only make
use of tens of concurrent mappings).

This fixes CVE-2019-3882.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
[groeck: Adjust for missing upstream commit]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-04 08:49:10 +02:00
..
accessibility
acpi ACPI / SBS: Fix GPE storm on recent MacBookPro's 2019-04-20 09:07:52 +02:00
amba ARM: amba: Don't read past the end of sysfs "driver_override" buffer 2018-05-01 15:13:08 -07:00
android binder: fix proc->files use-after-free 2018-12-08 13:05:07 +01:00
ata libata: fix using DMA buffers on stack 2019-05-04 08:49:09 +02:00
atm atm: he: fix sign-extension overflow on large shift 2019-02-27 10:06:59 +01:00
auxdisplay
base PM / wakeup: Rework wakeup source timer cancellation 2019-03-23 13:19:53 +01:00
bcma
block Revert "block/loop: Use global lock for ioctl() operation." 2019-05-02 09:32:04 +02:00
bluetooth Revert "Bluetooth: h5: Fix missing dependency on BT_HCIUART_SERDEV" 2018-11-27 16:09:40 +01:00
bus bus: arm-cci: remove unnecessary unreachable() 2018-12-05 19:42:41 +01:00
cdrom cdrom: Fix race condition in cdrom_sysctl_register 2019-04-05 22:29:12 +02:00
char tpm/tpm_i2c_atmel: Return -E2BIG when the transfer is incomplete 2019-04-27 09:34:41 +02:00
clk clk: ingenic: Fix doc of ingenic_cgu_div_info 2019-03-23 13:19:49 +01:00
clocksource clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown 2019-03-23 13:19:46 +01:00
connector
cpufreq cpufreq: pxa2xx: remove incorrect __init annotation 2019-03-23 13:19:48 +01:00
cpuidle cpuidle: big.LITTLE: fix refcount leak 2019-02-12 19:44:55 +01:00
crypto crypto: crypto4xx - properly set IV after de- and encrypt 2019-04-27 09:34:41 +02:00
dax
dca
devfreq PM / devfreq: Fix potential NULL pointer dereference in governor_store 2018-04-13 19:48:09 +02:00
dio
dma dmaengine: sh: rcar-dmac: With cyclic DMA residue 0 is valid 2019-05-02 09:32:02 +02:00
dma-buf dma-buf: remove redundant initialization of sg_table 2018-06-06 16:44:33 +02:00
edac EDAC, skx_edac: Fix logical channel intermediate decoding 2018-11-13 11:16:56 -08:00
eisa
extcon
firewire firewire-ohci: work around oversized DMA reads on JMicron controllers 2018-05-30 07:50:18 +02:00
firmware efi/memattr: Don't bail on zero VA if it equals the region's PA 2019-04-05 22:29:12 +02:00
fmc
fpga
gpio gpio: of: Fix of_gpiochip_add() error path 2019-05-04 08:49:09 +02:00
gpu drm/vc4: Fix compilation error reported by kbuild test bot 2019-05-02 09:32:02 +02:00
hid i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array 2019-04-27 09:34:47 +02:00
hsi HSI: ssi_protocol: double free in ssip_pn_xmit() 2018-03-24 11:00:12 +01:00
hv Drivers: hv: vmbus: Return -EINVAL for the sys files for unopened channels 2018-12-29 13:40:15 +01:00
hwmon hwmon: (lm80) Fix missing unlock on error in set_fan_div() 2019-02-23 09:05:58 +01:00
hwspinlock
hwtracing intel_th: gth: Fix an off-by-one in output unassigning 2019-05-02 09:32:03 +02:00
i2c i2c: core-smbus: prevent stack corruption on read I2C_BLOCK_DATA 2019-04-05 22:29:05 +02:00
ide ide: pmac: add of_node_put() 2018-12-21 14:11:37 +01:00
idle
iio io: accel: kxcjk1013: restore the range after resume. 2019-04-27 09:34:42 +02:00
infiniband IB/rdmavt: Fix frwr memory registration 2019-05-02 09:32:00 +02:00
input Input: synaptics-rmi4 - write config register values to the right offset 2019-05-02 09:32:02 +02:00
iommu iommu/dmar: Fix buffer overflow during PCI bus notification 2019-04-20 09:07:53 +02:00
ipack
irqchip irqchip/mbigen: Don't clear eventid when freeing an MSI 2019-04-20 09:07:49 +02:00
isdn mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S 2019-04-03 06:24:14 +02:00
leds leds: pca9532: fix a potential NULL pointer dereference 2019-05-04 08:49:10 +02:00
lguest
lightnvm
macintosh macintosh/rack-meter: Convert cputime64_t use to u64 2018-10-20 09:51:32 +02:00
mailbox mailbox: xgene-slimpro: Fix potential NULL pointer dereference 2018-09-09 20:01:19 +02:00
mcb
md bcache: improve sysfs_strtoul_clamp() 2019-04-05 22:29:12 +02:00
media media: vivid: check if the cec_adapter is valid 2019-05-04 08:49:06 +02:00
memory memory: tegra: Apply interrupts mask per SoC 2018-08-03 07:55:24 +02:00
memstick memstick: Prevent memstick host from getting runtime suspended during card detection 2019-02-12 19:44:55 +01:00
message scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo() 2018-05-25 16:13:06 +02:00
mfd mfd: mc13xxx: Fix a missing check of a register-read failure 2019-02-27 10:06:59 +01:00
misc lkdtm: Add tests for NULL pointer dereference 2019-04-20 09:07:53 +02:00
mmc mmc: sdhci: Fix data command CRC error handling 2019-04-27 09:34:41 +02:00
mtd mtd: rawnand: gpmi: fix MX28 bus master lockup problem 2019-02-15 08:07:37 +01:00
net net: ethernet: ti: fix possible object reference leak 2019-05-04 08:49:09 +02:00
nfc NFC: nxp-nci: Include unaligned.h instead of access_ok.h 2019-01-09 16:16:39 +01:00
ntb ntb_transport: Fix bug with max_mw_size parameter 2018-05-30 07:50:22 +02:00
nubus
nvdimm libnvdimm: Fix altmap reservation size calculation 2019-03-23 13:19:45 +01:00
nvme nvmet-rdma: fix null dereference under heavy load 2019-01-31 08:12:37 +01:00
nvmem nvmem: properly handle returned value nvmem_reg_read 2018-08-03 07:55:22 +02:00
of of: add helper to lookup compatible child node 2018-12-01 09:44:21 +01:00
oprofile
parisc parisc/pci: Switch LBA PCI bus from Hard Fail to Soft Fail mode 2018-05-30 07:50:43 +02:00
parport parport_pc: fix find_superio io compare code, should use equal test. 2019-03-23 13:19:50 +01:00
pci PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller 2019-04-17 08:36:47 +02:00
pcmcia pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges 2018-11-13 11:16:46 -08:00
perf drivers/perf: arm_pmu: handle no platform_device 2018-03-22 09:17:51 +01:00
phy phy: tegra: remove redundant self assignment of 'map' 2019-02-27 10:07:03 +01:00
pinctrl pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins 2019-03-23 13:19:43 +01:00
platform platform/x86: Fix unmet dependency warning for SAMSUNG_Q10 2019-03-13 14:04:57 -07:00
pnp
power power: supply: charger-manager: Fix incorrect return value 2019-03-27 14:13:05 +09:00
powercap PowerCap: Fix an error code in powercap_register_zone() 2018-04-13 19:47:56 +02:00
pps
ps3
ptp ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl 2019-02-12 19:44:52 +01:00
pwm pwm: tiehrpwm: Fix disabling of output of PWMs 2018-09-09 20:01:25 +02:00
rapidio
ras
regulator regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting 2019-04-05 22:29:14 +02:00
remoteproc
reset reset: make device_reset_optional() really optional 2018-12-08 13:05:08 +01:00
rpmsg rpmsg: smd: fix memory leak on channel create 2018-11-13 11:17:03 -08:00
rtc rtc: Fix overflow when converting time64_t to rtc_time 2019-03-27 14:13:04 +09:00
s390 scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN 2019-05-04 08:49:09 +02:00
sbus drivers/sbus/char: add of_node_put() 2018-12-21 14:11:36 +01:00
scsi scsi: qla4xxx: fix a potential NULL pointer dereference 2019-05-04 08:49:09 +02:00
sfi
sh
sn
soc soc/tegra: pmc: Drop locking from tegra_powergate_is_powered() 2019-04-20 09:07:53 +02:00
spi spi: pxa2xx: Setup maximum supported DMA transfer length 2019-03-23 13:19:46 +01:00
spmi
ssb
staging staging: rtl8712: uninitialized memory in read_bbreg_hdl() 2019-05-04 08:49:08 +02:00
target scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock 2019-03-23 13:19:47 +01:00
tc TC: Set DMA masks for devices 2018-11-13 11:17:02 -08:00
thermal thermal/int340x_thermal: fix mode setting 2019-04-20 09:07:48 +02:00
thunderbolt thunderbolt: Resume control channel after hibernation image is created 2018-04-24 09:34:12 +02:00
tty serial: ar933x_uart: Fix build failure with disabled console 2019-05-04 08:49:07 +02:00
uio uio: Fix an Oops on load 2018-11-27 16:09:41 +01:00
usb usb: u132-hcd: fix resource leak 2019-05-04 08:49:09 +02:00
uwb uwb: hwa-rc: fix memory leak at probe 2018-10-03 17:01:42 -07:00
vfio vfio/type1: Limit DMA mappings per container 2019-05-04 08:49:10 +02:00
vhost vhost: reject zero size iova range 2019-04-27 09:34:40 +02:00
video fbdev: fbmem: fix memory access if logo is bigger than the screen 2019-04-05 22:29:12 +02:00
virt
virtio virtio: Honour 'may_reduce_num' in vring_create_virtqueue 2019-04-17 08:36:47 +02:00
vlynq
vme
w1 w1: omap-hdq: fix missing bus unregister at removal 2018-11-13 11:17:01 -08:00
watchdog watchdog: sbsa: use 32-bit read for WCV 2018-05-30 07:50:34 +02:00
xen xen: xlate_mmu: add missing header to fix 'W=1' warning 2018-12-17 09:38:34 +01:00
zorro zorro: Set up z->dev.dma_mask for the DMA API 2018-05-30 07:50:44 +02:00
Kconfig
Makefile