linux/drivers
Pavel Skripkin f685995810 i2c: validate user data in compat ioctl
[ Upstream commit bb436283e2 ]

Wrong user data may cause warning in i2c_transfer(), ex: zero msgs.
Userspace should not be able to trigger warnings, so this patch adds
validation checks for user data in compact ioctl to prevent reported
warnings

Reported-and-tested-by: syzbot+e417648b303855b91d8a@syzkaller.appspotmail.com
Fixes: 7d5cb45655 ("i2c compat ioctls: move to ->compat_ioctl()")
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-01-05 12:42:37 +01:00
..
accessibility
acpi ACPI: CPPC: Add NULL pointer check to cppc_get_perf() 2021-12-01 09:04:38 +01:00
amba ARM: 9120/1: Revert "amba: make use of -1 IRQs warn" 2021-11-06 14:13:31 +01:00
android binder: use wake_up_pollfree() 2021-12-14 10:57:15 +01:00
ata libata: if T_LENGTH is zero, dma direction should be DMA_NONE 2021-12-22 09:32:49 +01:00
atm
auxdisplay auxdisplay: ht16k33: Fix frame buffer device blanking 2021-11-18 19:17:02 +01:00
base PM: sleep: Fix error handling in dpm_prepare() 2021-12-29 12:28:38 +01:00
bcma
block xen/blkfront: harden blkfront against event channel storms 2021-12-22 09:32:51 +01:00
bluetooth Bluetooth: btusb: Add support for TP-Link UB500 Adapter 2021-11-21 13:44:13 +01:00
bus bus: sunxi-rsb: Fix shutdown 2021-12-29 12:28:38 +01:00
cdrom
char ipmi: fix initialization when workqueue allocation fails 2021-12-29 12:28:53 +01:00
clk clk: Don't parent clks until the parent is fully registered 2021-12-22 09:32:39 +01:00
clocksource clocksource/drivers/dw_apb_timer_of: Fix probe failure 2021-12-14 10:57:23 +01:00
comedi comedi: vmk80xx: fix bulk and interrupt message timeouts 2021-11-12 15:05:51 +01:00
connector
counter
cpufreq cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() 2021-12-08 09:04:42 +01:00
cpuidle cpuidle: Fix kobject memory leaks in error paths 2021-11-18 19:16:29 +01:00
crypto crypto: octeontx2 - set assoclen in aead_do_fallback() 2021-11-18 19:16:33 +01:00
cxl cxl/pci: Fix NULL vs ERR_PTR confusion 2021-11-18 19:16:04 +01:00
dax
dca
devfreq
dio
dma dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-22 09:32:41 +01:00
dma-buf dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow 2021-12-08 09:04:42 +01:00
edac EDAC/amd64: Handle three rank interleaving mode 2021-11-18 19:16:30 +01:00
eisa
extcon
firewire
firmware firmware: arm_scpi: Fix string overflow in SCPI genpd driver 2021-12-22 09:32:35 +01:00
fpga fpga: ice40-spi: Add SPI device ID table 2021-09-27 14:00:41 -07:00
fsi
gnss
gpio gpio: dln2: Fix interrupts when replugging the device 2021-12-29 12:28:56 +01:00
gpu drm/amd/display: Set optimize_pwr_state for DCN31 2022-01-05 12:42:36 +01:00
greybus
hid HID: potential dereference of null pointer 2021-12-29 12:28:37 +01:00
hsi
hv Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size 2021-11-25 09:48:46 +01:00
hwmon hwmon: (lm90) Do not report 'busy' status bit as alarm 2021-12-29 12:29:02 +01:00
hwspinlock
hwtracing coresight: trbe: Defer the probe on offline CPUs 2021-11-18 19:16:06 +01:00
i2c i2c: validate user data in compat ioctl 2022-01-05 12:42:37 +01:00
i3c
idle
iio iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove 2021-12-14 10:57:21 +01:00
infiniband RDMA/hns: Replace kfree() with kvfree() 2021-12-29 12:28:40 +01:00
input Input: i8042 - enable deferred probe quirk for ASUS UM325UA 2022-01-05 12:42:32 +01:00
interconnect
iommu iommu/amd: Clarify AMD IOMMUv2 initialization messages 2021-12-01 09:04:55 +01:00
ipack ipack: ipoctal: fix module reference leak 2021-09-27 17:38:49 +02:00
irqchip irqchip: nvic: Fix offset for Interrupt Priority Offsets 2021-12-14 10:57:23 +01:00
isdn mISDN: Fix return values of the probe function 2021-10-19 13:09:28 +01:00
leds
macintosh
mailbox mailbox: mtk-cmdq: Fix local clock ID usage 2021-11-18 19:16:35 +01:00
mcb
md dm btree remove: fix use after free in rebalance_children() 2021-12-22 09:32:36 +01:00
media media: mxl111sf: change mutex_init() location 2021-12-22 09:32:50 +01:00
memory memory: tegra20-emc: Add runtime dependency on devfreq governor module 2021-11-25 09:48:30 +01:00
memstick memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() 2021-11-18 19:16:32 +01:00
message
mfd mfd: dln2: Add cell for initializing DLN2 ADC 2021-11-18 19:17:17 +01:00
misc misc: fastrpc: fix improper packet size calculation 2021-12-14 10:57:23 +01:00
mmc mmc: mmci: stm32: clear DLYB_CR after sending tuning command 2021-12-29 12:28:57 +01:00
most most: fix control-message timeouts 2021-11-18 19:16:08 +01:00
mtd mtd: rawnand: Fix nand_choose_best_timings() on unsupported interface 2021-12-17 10:30:13 +01:00
mux
net fsl/fman: Fix missing put_device() call in fman_port_probe 2022-01-05 12:42:37 +01:00
nfc NFC: st21nfca: Fix memory leak in device probe and remove 2022-01-05 12:42:36 +01:00
ntb
nubus
nvdimm nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned 2021-11-18 19:17:07 +01:00
nvme nvmet: use IOCB_NOWAIT only if the filesystem supports it 2021-12-01 09:04:52 +01:00
nvmem nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells 2021-10-13 15:09:58 +02:00
of of: unittest: fix EXPECT text for gpio hog errors 2021-11-18 19:16:45 +01:00
opp opp: Fix return in _opp_add_static_v2() 2021-11-18 19:17:00 +01:00
parisc
parport
pci PCI/MSI: Mask MSI-X vectors only on success 2021-12-22 09:32:46 +01:00
pcmcia
perf KVM: arm64: Fix PMU probe ordering 2021-09-20 12:43:34 +01:00
phy phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe() 2021-11-18 19:16:56 +01:00
pinctrl pinctrl: mediatek: fix global-out-of-bounds issue 2021-12-29 12:29:01 +01:00
platform platform/x86: apple-gmux: use resource_size() with res 2022-01-05 12:42:33 +01:00
pnp
power power: supply: bq27xxx: Fix kernel crash on IRQ handler register error 2021-11-18 19:16:58 +01:00
powercap
pps
ps3
ptp ptp: ocp: Fix a couple NULL vs IS_ERR() checks 2021-11-25 09:48:40 +01:00
pwm
rapidio
ras
regulator regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled 2021-11-18 19:15:57 +01:00
remoteproc remoteproc: imx_rproc: Fix rsc-table name 2021-11-18 19:17:18 +01:00
reset reset: tegra-bpmp: Revert Handle errors in BPMP response 2021-12-22 09:32:33 +01:00
rpmsg
rtc rtc: rv3032: fix error handling in rv3032_clkout_set_rate() 2021-11-18 19:17:01 +01:00
s390 s390/cio: make ccw_device_dma_* more robust 2021-11-18 19:17:18 +01:00
sbus
scsi scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() 2022-01-05 12:42:34 +01:00
sh maple: fix wrong return value of maple_bus_init(). 2021-11-25 09:48:31 +01:00
siox
slimbus
soc soc/tegra: fuse: Fix bitwise vs. logical OR warning 2021-12-22 09:32:43 +01:00
soundwire soundwire: bus: stop dereferencing invalid slave pointer 2021-11-18 19:16:54 +01:00
spi spi: change clk_disable_unprepare to clk_unprepare 2021-12-29 12:28:39 +01:00
spmi
ssb
staging staging: most: dim2: use device release method 2021-12-17 10:30:16 +01:00
target scsi: target: Fix alua_tg_pt_gps_count tracking 2021-11-25 09:48:29 +01:00
tc
tee tee: optee: Fix incorrect page free bug 2021-12-29 12:28:59 +01:00
thermal thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL 2021-12-14 10:57:14 +01:00
thunderbolt thunderbolt: build kunit tests without structleak plugin 2021-10-06 17:53:49 -06:00
tty xen/console: harden hvc_xen against event channel storms 2021-12-22 09:32:52 +01:00
uio
usb USB: core: Make do_proc_control() and do_proc_bulk() killable 2021-12-22 09:32:50 +01:00
vdpa vdpa: Consider device id larger than 31 2021-12-22 09:32:39 +01:00
vfio vfio/pci: add missing identifier name in argument of function prototype 2021-09-23 14:12:36 -06:00
vhost vdpa: check that offsets are within bounds 2021-12-22 09:32:36 +01:00
video vgacon: Propagate console boot parameters before calling `vc_resize' 2021-12-08 09:04:55 +01:00
virt
virtio virtio_ring: Fix querying of maximum DMA mapping size for virtio device 2021-12-22 09:32:36 +01:00
visorbus
vlynq
vme
w1
watchdog ar7: fix kernel builds for compiler test 2021-11-18 19:17:03 +01:00
xen xen/console: harden hvc_xen against event channel storms 2021-12-22 09:32:52 +01:00
zorro
Kconfig firmware: include drivers/firmware/Kconfig unconditionally 2021-10-07 16:51:26 +02:00
Makefile virtio: always enter drivers/virtio/ 2021-12-22 09:32:39 +01:00