WSL2-Linux-Kernel/drivers
Alex Williamson c8dbca165b vfio/iommu_type1: Avoid overflow
Coverity reports use of a tained scalar used as a loop boundary.
For the most part, any values passed from userspace for a DMA mapping
size, IOVA, or virtual address are valid, with some alignment
constraints.  The size is ultimately bound by how many pages the user
is able to lock, IOVA is tested by the IOMMU driver when doing a map,
and the virtual address needs to pass get_user_pages.  The only
problem I can find is that we do expect the __u64 user values to fit
within our variables, which might not happen on 32bit platforms.  Add
a test for this and return error on overflow.  Also propagate use of
the type-correct local variables throughout the function.

The above also points to the 'end' variable, which can be zero if
we're operating at the very top of the address space.  We try to
account for this, but our loop botches it.  Rework the loop to use
the remaining size as our loop condition rather than the IOVA vs end.

Detected by Coverity: CID 714659

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2014-05-30 11:35:54 -06:00
..
accessibility
acpi Merge branch 'acpi-video' 2014-05-16 23:43:56 +02:00
amba
ata Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2014-05-21 18:35:42 +09:00
atm
auxdisplay
base drivercore: deferral race condition fix 2014-04-29 15:44:05 +01:00
bcma
block floppy: don't write kernel-only members to FDRAWCMD ioctl output 2014-05-05 07:46:56 -07:00
bluetooth Bluetooth: Add support for Lite-on [04ca:3007] 2014-04-25 09:47:16 +03:00
bus
cdrom
char This fixes a BUG_ON-causing regression that was introduced during the 2014-05-21 18:56:35 +09:00
clk Clock framework and driver fixes, all of which fix user-visible 2014-05-21 18:55:17 +09:00
clocksource Merge branch 'clockevents/3.15-fixes' of git://git.linaro.org/people/daniel.lezcano/linux into timers/urgent 2014-04-29 19:26:58 +02:00
connector net: Use netlink_ns_capable to verify the permisions of netlink messages 2014-04-24 13:44:54 -04:00
cpufreq ACPI and power management fixes for 3.15-rc6 2014-05-21 17:58:34 +09:00
cpuidle
crypto crypto: caam - add allocation failure handling in SPRINTFCAT macro 2014-04-28 18:17:18 +08:00
dca
devfreq
dio
dma dmaengine: fix dmaengine_unmap failure 2014-05-21 14:02:37 -07:00
edac
eisa
extcon
firewire
firmware iscsi_ibft: Fix finding Broadcom specific ibft sign 2014-05-13 14:54:14 -04:00
fmc
gpio gpio: mcp23s08: Bug fix of SPI device tree registration. 2014-05-09 10:28:16 +02:00
gpu Merge branch 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-fixes 2014-05-22 09:15:57 +10:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2014-05-07 16:07:58 -07:00
hsi
hv
hwmon hwmon: (ntc_thermistor) Fix OF device ID mapping 2014-05-25 17:23:08 +02:00
hwspinlock
i2c i2c: rcar: bail out on zero length transfers 2014-05-14 18:59:57 +02:00
ide
idle
iio iio: adc: Nothing in ADC should be a bool CONFIG 2014-04-26 11:22:16 +01:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-05-23 15:29:43 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-05-08 14:06:45 -07:00
iommu iommu/amd: fix enabling exclusion range for an exact device 2014-05-13 12:33:12 +02:00
ipack
irqchip mvebu irqchip ifxes for v3.15 2014-04-29 19:23:22 +02:00
isdn
leds
lguest
macintosh
mailbox
mcb
md A dm-crypt fix for a cpu hotplug crash that switches from using per-cpu 2014-05-21 17:57:31 +09:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-05-21 19:01:08 +09:00
memory
memstick
message
mfd mmc: rtsx: Revert "mmc: rtsx: add support for pre_req and post_req" 2014-05-08 08:44:50 +01:00
misc
mmc mmc: rtsx: Revert "mmc: rtsx: add support for pre_req and post_req" 2014-05-08 08:44:50 +01:00
mtd MTD update for 3.15-rc5 2014-05-07 16:28:52 -07:00
net bonding: Send ALB learning packets using the right source 2014-05-22 15:47:58 -04:00
nfc
ntb
nubus
of of: make of_update_property() usable earlier in the boot process 2014-05-14 15:27:36 +01:00
oprofile
parisc
parport
pci PCI updates for v3.15: 2014-05-21 18:57:25 +09:00
pcmcia
phy phy: fix kernel oops in phy_lookup() 2014-04-24 12:53:38 -07:00
pinctrl
platform
pnp asmlinkage: Add explicit __visible to drivers/*, lib/*, kernel/* 2014-05-05 16:07:46 -07:00
power power/reset: vexpress: Fix restart/power off operation 2014-04-24 17:20:50 +01:00
powercap
pps
ps3
ptp ptp: fix kconfig dependency warnings 2014-05-12 00:27:26 -04:00
pwm
rapidio
regulator
remoteproc
reset
rpmsg
rtc drivers/rtc/rtc-hym8563.c: set uie_unsupported 2014-05-11 17:55:48 +09:00
s390
sbus
scsi SCSI fixes on 20140524 2014-05-25 10:13:50 -07:00
sfi
sh drivers: sh: compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI 2014-05-12 16:05:01 +09:00
sn
spi Merge remote-tracking branches 'spi/fix/pxa2xx' and 'spi/fix/qup' into spi-linus 2014-05-13 19:08:34 +01:00
spmi
ssb
staging Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-05-21 19:01:08 +09:00
target target: fix memory leak on XCOPY 2014-05-17 15:49:40 -07:00
tc
thermal
tty tty: Fix lockless tty buffer race 2014-05-03 18:14:28 -04:00
uio
usb USB: Nokia 5300 should be treated as unusual dev 2014-05-03 19:41:07 -04:00
uwb uwb: don't call spin_unlock_irq in a USB completion handler 2014-04-24 12:45:40 -07:00
vfio vfio/iommu_type1: Avoid overflow 2014-05-30 11:35:54 -06:00
vhost
video
virt
virtio
vlynq
vme
w1
watchdog
xen Xen bug fixes for 3.15-rc5 2014-05-13 11:21:01 +09:00
zorro
Kconfig
Makefile SH Driver Update for v3.15 2014-05-22 04:26:23 +09:00