android_kernel_oneplus_msm8998/drivers
yongduan 35b29a78cc vhost: make sure log_num < in_num
commit 060423bfdee3f8bc6e2c1bac97de24d5415e2bc4 upstream.

The code assumes log_num < in_num everywhere, and that is true as long as
in_num is incremented by descriptor iov count, and log_num by 1. However
this breaks if there's a zero sized descriptor.

As a result, if a malicious guest creates a vring desc with desc.len = 0,
it may cause the host kernel to crash by overflowing the log array. This
bug can be triggered during the VM migration.

There's no need to log when desc.len = 0, so just don't increment log_num
in this case.

Fixes: 3a4d5c94e9 ("vhost_net: a kernel-level virtio server")
Cc: stable@vger.kernel.org
Reviewed-by: Lidong Chen <lidongchen@tencent.com>
Signed-off-by: ruippan <ruippan@tencent.com>
Signed-off-by: yongduan <yongduan@tencent.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-09-16 08:13:36 +02:00
..
accessibility
acpi ACPI / SBS: Fix GPE storm on recent MacBookPro's 2019-04-27 09:33:58 +02:00
amba
android coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping 2019-06-22 08:18:27 +02:00
ata libata: add SG safety checks in SFF pio transfers 2019-09-06 10:18:08 +02:00
atm atm: iphase: Fix Spectre v1 vulnerability 2019-08-11 12:20:44 +02:00
auxdisplay
base regmap: fix bulk writes on paged registers 2019-08-04 09:34:46 +02:00
bcma
block floppy: fix out-of-bounds read in copy_buffer 2019-08-04 09:34:52 +02:00
bluetooth Bluetooth: btqca: Add a short delay before downloading the NVM 2019-09-10 10:29:46 +01:00
bus
cdrom cdrom: Fix race condition in cdrom_sysctl_register 2019-04-27 09:33:52 +02:00
char hpet: Fix division by zero in hpet_time_div() 2019-08-04 09:35:00 +02:00
clk clk: s2mps11: Add used attribute to s2mps11_dt_match 2019-09-16 08:13:36 +02:00
clocksource clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown 2019-03-23 08:44:35 +01:00
connector
cpufreq cpufreq/pasemi: fix use-after-free in pas_cpufreq_cpu_init() 2019-08-25 10:52:47 +02:00
cpuidle cpuidle: big.LITTLE: fix refcount leak 2019-02-20 10:13:09 +01:00
crypto crypto: talitos - fix skcipher failure due to wrong output IV 2019-08-04 09:34:40 +02:00
dca
devfreq PM / devfreq: tegra: fix error return code in tegra_devfreq_probe() 2018-11-10 07:41:40 -08:00
dio
dma dmaengine: ste_dma40: fix unneeded variable warning 2019-09-06 10:18:14 +02:00
dma-buf
edac EDAC: Fix global-out-of-bounds write when setting edac_mc_poll_msec 2019-08-04 09:34:48 +02:00
eisa
extcon extcon: arizona: Disable mic detect if running when driver is removed 2019-06-11 12:24:01 +02:00
firewire
firmware iscsi_ibft: make ISCSI_IBFT dependson ACPI instead of ISCSI_IBFT_FIND 2019-08-25 10:52:46 +02:00
fmc
fpga
gpio gpio: omap: ensure irq is enabled before wakeup 2019-08-04 09:34:45 +02:00
gpu drm/virtio: Add memory barriers for capset cache. 2019-08-04 09:34:56 +02:00
hid HID: wacom: correct misreported EKR ring values 2019-09-06 10:18:09 +02:00
hsi
hv Drivers: hv: vmbus: Return -EINVAL for the sys files for unopened channels 2019-01-13 10:05:27 +01:00
hwmon hwmon: (nct7802) Fix wrong detection of in4 presence 2019-08-25 10:52:52 +02:00
hwspinlock
hwtracing stm class: Fix a double free of stm_source_device 2019-09-06 10:18:17 +02:00
i2c i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr 2019-06-22 08:18:26 +02:00
ide ide: pmac: add of_node_put() 2018-12-21 14:09:52 +01:00
idle
iio iio: common: ssp_sensors: Initialize calculated_time in ssp_common_process_data 2019-06-11 12:24:02 +02:00
infiniband IB/mlx4: Fix memory leaks 2019-09-10 10:29:48 +01:00
input Input: psmouse - fix build error of multiple definition 2019-08-25 10:53:03 +02:00
iommu iommu/amd: Move iommu_init_pci() to .init section 2019-08-25 10:53:05 +02:00
ipack
irqchip irqchip/irq-imx-gpcv2: Forward irq type to parent 2019-08-25 10:52:59 +02:00
isdn isdn: hfcsusb: Fix mISDN driver crash caused by transfer buffer on the stack 2019-09-06 10:18:06 +02:00
leds leds: lp55xx: fix null deref on firmware load failure 2019-04-27 09:33:51 +02:00
lguest
lightnvm
macintosh
mailbox mailbox: handle failed named mailbox channel request 2019-08-04 09:34:58 +02:00
mcb
md dm table: fix invalid memory accesses with too high sector number 2019-09-06 10:18:11 +02:00
media media: radio-raremono: change devm_k*alloc to k*alloc 2019-08-04 09:35:02 +02:00
memory memory: tegra: Fix integer overflow on tick value calculation 2019-06-11 12:23:46 +02:00
memstick memstick: Fix error cleanup path of memstick_init 2019-08-04 09:34:56 +02:00
message
mfd mfd: arizona: Fix undefined behavior 2019-08-04 09:34:58 +02:00
misc VMCI: Release resource if the work is already queued 2019-09-06 10:18:17 +02:00
mmc mmc: core: Fix init of SD cards reporting an invalid VDD range 2019-09-06 10:18:17 +02:00
mtd mtd: rawnand: gpmi: fix MX28 bus master lockup problem 2019-02-20 10:13:17 +01:00
net net: stmmac: dwmac-rk: Don't fail if phy regulator is absent 2019-09-10 10:29:50 +01:00
nfc st_nci_hci_connectivity_event_received: null check the allocation 2019-09-06 10:18:05 +02:00
ntb
nubus
nvdimm libnvdimm/btt: Fix a kmemdup failure check 2019-05-16 19:45:05 +02:00
nvme
nvmem nvmem: core: fix read buffer in place 2019-06-22 08:18:20 +02:00
of of: add helper to lookup compatible child node 2018-12-01 09:46:35 +01:00
oprofile
parisc parisc: Use implicit space register selection for loading the coherence index of I/O pdirs 2019-06-11 12:24:13 +02:00
parport parport: Fix mem leak in parport_register_dev_model 2019-07-10 09:56:31 +02:00
pci PCI: sysfs: Ignore lockdep for remove attribute 2019-08-04 09:34:57 +02:00
pcmcia pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges 2018-11-21 09:27:30 +01:00
perf
phy phy: renesas: rcar-gen2: Fix memory leak at error paths 2019-08-04 09:34:57 +02:00
pinctrl pinctrl: rockchip: fix leaked of_node references 2019-08-04 09:34:56 +02:00
platform platform/chrome: cros_ec_proto: check for NULL transfer function 2019-06-22 08:18:20 +02:00
pnp
power power: supply: sysfs: prevent endless uevent loop with CONFIG_POWER_SUPPLY_DEBUG 2019-06-11 12:23:49 +02:00
powercap
pps drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl 2019-08-04 09:35:02 +02:00
ps3
ptp ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl 2019-02-20 10:13:05 +01:00
pwm pwm: Fix deadlock warning when removing PWM device 2019-06-22 08:18:21 +02:00
rapidio
ras
regulator regulator: s2mps11: Fix buck7 and buck8 wrong voltages 2019-08-04 09:34:50 +02:00
remoteproc
reset
rpmsg
rtc rtc: 88pm860x: prevent use-after-free on device remove 2019-06-11 12:23:54 +02:00
s390 s390/qdio: add sanity checks to the fast-requeue path 2019-08-25 10:52:47 +02:00
sbus drivers/sbus/char: add of_node_put() 2018-12-21 14:09:52 +01:00
scsi scsi: ufs: Fix NULL pointer dereference in ufshcd_config_vreg_hpm() 2019-09-06 10:18:14 +02:00
sfi
sh
sn
soc soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher 2019-06-22 08:18:20 +02:00
spi spi: bcm2835aux: fix corruptions for longer spi transfers 2019-09-10 10:29:50 +01:00
spmi
ssb ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit 2019-06-11 12:23:53 +02:00
staging staging: comedi: dt3000: Fix rounding up of timer divisor 2019-08-25 10:53:01 +02:00
target scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock 2019-03-23 08:44:35 +01:00
tc TC: Set DMA masks for devices 2018-11-21 09:27:36 +01:00
thermal thermal/int340x_thermal: fix mode setting 2019-04-27 09:33:57 +02:00
thunderbolt
tty tty/ldsem, locking/rwsem: Add missing ACQUIRE to read_failed sleep loop 2019-08-25 10:52:51 +02:00
uio uio: Fix an Oops on load 2018-11-27 16:08:02 +01:00
usb USB: storage: ums-realtek: Whitelist auto-delink support 2019-09-06 10:18:16 +02:00
uwb
vfio vfio/pci: use correct format characters 2019-05-16 19:45:01 +02:00
vhost vhost: make sure log_num < in_num 2019-09-16 08:13:36 +02:00
video video: imsttfb: fix potential NULL pointer dereferences 2019-06-22 08:18:21 +02:00
virt drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl 2019-05-16 19:45:18 +02:00
virtio
vlynq
vme
w1 w1: fix the resume command API 2019-06-11 12:23:55 +02:00
watchdog watchdog: bcm2835_wdt: Fix module autoload 2019-09-06 10:18:15 +02:00
xen xen/pciback: remove set but not used variable 'old_state' 2019-08-25 10:52:59 +02:00
zorro
Kconfig
Makefile