linux/drivers
Kees Cook b32d922f86 media: uvcvideo: Silence memcpy() run-time false positive warnings
[ Upstream commit b839212988 ]

The memcpy() in uvc_video_decode_meta() intentionally copies across the
length and flags members and into the trailing buf flexible array.
Split the copy so that the compiler can better reason about (the lack
of) buffer overflows here. Avoid the run-time false positive warning:

  memcpy: detected field-spanning write (size 12) of single field "&meta->length" at drivers/media/usb/uvc/uvc_video.c:1355 (size 1)

Additionally fix a typo in the documentation for struct uvc_meta_buf.

Reported-by: ionut_n2001@yahoo.com
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216810
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-03-11 13:57:33 +01:00
..
accessibility tty: fix possible null-ptr-defer in spk_ttyio_release 2023-01-24 07:22:46 +01:00
acpi ACPI: video: Fix Lenovo Ideapad Z570 DMI match 2023-03-10 09:39:50 +01:00
amba
android binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0 2023-02-25 12:06:45 +01:00
ata ata: libata: Fix sata_down_spd_limit() when no link speed is reported 2023-02-09 11:26:37 +01:00
atm
auxdisplay auxdisplay: hd44780: Fix potential memory leak in hd44780_remove() 2023-03-11 13:57:22 +01:00
base PM: domains: fix memory leak with using debugfs_lookup() 2023-03-10 09:39:51 +01:00
bcma
block loop: loop_set_status_from_info() check before assignment 2023-03-11 13:57:31 +01:00
bluetooth Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE 2023-03-10 09:39:51 +01:00
bus bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() 2023-02-09 11:26:32 +01:00
cdrom
char ipmi_ssif: Rename idle state and check 2023-03-10 09:39:56 +01:00
clk clk: mxl: syscon_node_to_regmap() returns error pointers 2023-02-25 12:06:43 +01:00
clocksource clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in dmtimer_systimer_init_clock() 2022-12-31 13:14:04 +01:00
comedi comedi: adv_pci1760: Fix PWM instruction handling 2023-01-24 07:22:45 +01:00
connector
counter counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update 2022-12-31 13:14:30 +01:00
cpufreq cpufreq: governor: Use kobject release() method to free dbs_data 2023-02-01 08:27:29 +01:00
cpuidle cpuidle: dt: Return the correct numbers of parsed idle states 2022-12-31 13:14:01 +01:00
crypto crypto: qat - fix out-of-bounds read 2023-03-10 09:40:03 +01:00
cxl
dax dax/kmem: Fix leak of memory-hotplug resources 2023-03-10 09:40:08 +01:00
dca
devfreq PM/devfreq: governor: Add a private governor_data for governor 2023-01-12 11:58:51 +01:00
dio drivers: dio: fix possible memory leak in dio_init() 2022-12-31 13:14:27 +01:00
dma dmaengine: dw-axi-dmac: Do not dereference NULL structure 2023-03-10 09:39:42 +01:00
dma-buf dma-buf: fix racing conflict of dma_heap_add() 2022-12-02 17:41:06 +01:00
edac EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info 2023-02-01 08:27:25 +01:00
eisa
extcon extcon: usbc-tusb320: fix kernel-doc warning 2023-02-06 07:59:01 +01:00
firewire firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region 2023-02-09 11:26:32 +01:00
firmware firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3 2023-03-11 13:57:32 +01:00
fpga fpga: stratix10-soc: Fix return value check in s10_ops_write_init() 2023-02-09 11:26:44 +01:00
fsi WRITE is "data source", not destination... 2023-02-09 11:26:34 +01:00
gnss
gpio gpio: vf610: connect GPIO label to dev name 2023-03-10 09:39:27 +01:00
gpu drm/edid: fix AVI infoframe aspect ratio handling 2023-03-10 09:40:14 +01:00
greybus
hid HID: logitech-hidpp: Don't restart communication if not necessary 2023-03-10 09:39:54 +01:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2022-12-31 13:14:32 +01:00
hv video: hyperv_fb: Avoid taking busy spinlock on panic path 2022-12-31 13:14:39 +01:00
hwmon hwmon: (coretemp) Simplify platform device handling 2023-03-10 09:39:54 +01:00
hwspinlock hwspinlock: qcom: correct MMIO max register for newer SoCs 2022-11-16 09:58:13 +01:00
hwtracing coresight: cti: Add PM runtime call in enable_store 2023-03-10 09:39:36 +01:00
i2c i2c: designware: fix i2c_dw_clk_rate() return size to be u32 2023-03-10 09:39:34 +01:00
i3c
idle
iio iio: light: tsl2563: Do not hardcode interrupt trigger type 2023-03-10 09:39:34 +01:00
infiniband IB/hfi1: Update RMT size calculation 2023-03-11 13:57:33 +01:00
input Input: i8042 - add Clevo PCX0DX to i8042 quirk table 2023-02-09 11:26:41 +01:00
interconnect
iommu iommu/amd: Fix error handling for pdev_pri_ats_enable() 2023-03-11 13:57:33 +01:00
ipack
irqchip genirq: Add and use an irq_data_update_affinity helper 2023-03-11 13:57:31 +01:00
isdn mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave() 2022-12-31 13:14:37 +01:00
leds leds: led-core: Fix refcount leak in of_led_get() 2023-03-10 09:39:32 +01:00
macintosh macintosh/macio-adb: check the return value of ioremap() 2022-12-31 13:14:35 +01:00
mailbox mailbox: zynq-ipi: fix error handling while device_register() fails 2022-12-31 13:14:39 +01:00
mcb mcb: mcb-parse: fix error handing in chameleon_parse_gdd() 2022-12-31 13:14:30 +01:00
md dm flakey: fix a bug with 32-bit highmem systems 2023-03-10 09:40:07 +01:00
media media: uvcvideo: Silence memcpy() run-time false positive warnings 2023-03-11 13:57:33 +01:00
memory memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe() 2023-02-01 08:27:03 +01:00
memstick memstick/ms_block: Add check for alloc_ordered_workqueue 2022-12-31 13:14:17 +01:00
message
mfd mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak 2023-03-11 13:57:32 +01:00
misc misc/mei/hdcp: Use correct macros to initialize uuid_le 2023-03-10 09:39:38 +01:00
mmc mmc: mmc_spi: fix error handling in mmc_spi_probe() 2023-02-22 12:57:06 +01:00
most
mtd ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed 2023-03-11 13:57:26 +01:00
mux
net net/mlx5: Geneve, Fix handling of Geneve object id as error code 2023-03-11 13:57:29 +01:00
nfc nfc: fix memory leak of se_io context in nfc_genl_se_io 2023-03-11 13:57:29 +01:00
ntb
nubus
nvdimm
nvme nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association 2023-02-22 12:57:02 +01:00
nvmem nvmem: core: fix return value 2023-02-22 12:57:03 +01:00
of of: reserved_mem: Have kmemleak ignore dynamically allocated reserved mem 2023-02-22 12:57:07 +01:00
opp OPP: fix error checking in opp_migrate_dentry() 2023-03-10 09:39:15 +01:00
parisc genirq: Add and use an irq_data_update_affinity helper 2023-03-11 13:57:31 +01:00
parport parport_pc: Avoid FIFO port location truncation 2022-11-26 09:24:36 +01:00
pci PCI: Avoid FLR for AMD FCH AHCI adapters 2023-03-10 09:40:13 +01:00
pcmcia
perf perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init() 2022-12-31 13:13:58 +01:00
phy phy: rockchip-typec: fix tcphy_get_mode error case 2023-03-10 09:39:42 +01:00
pinctrl pinctrl: at91: use devm_kasprintf() to avoid potential leaks 2023-03-10 09:39:54 +01:00
platform platform/x86/amd: pmc: add CONFIG_SERIO dependency 2023-02-22 12:57:11 +01:00
pnp PNP: fix name memory leak in pnp_alloc_dev() 2022-12-31 13:14:02 +01:00
power power: supply: remove faulty cooling logic 2023-03-10 09:39:41 +01:00
powercap powercap: fix possible name leak in powercap_register_zone() 2023-03-10 09:39:12 +01:00
pps
ps3
ptp
pwm pwm: stm32-lp: fix the check on arr and cmp registers update 2023-03-11 13:57:23 +01:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2022-12-31 13:14:05 +01:00
ras
regulator regulator: s5m8767: Bounds check id indexing into arrays 2023-03-10 09:39:53 +01:00
remoteproc remoteproc/mtk_scp: Move clk ops outside send_lock 2023-03-10 09:40:09 +01:00
reset reset: uniphier-glue: Fix possible null-ptr-deref 2023-02-01 08:27:04 +01:00
rpmsg rpmsg: glink: Avoid infinite loop on intent for missing channel 2023-03-10 09:39:46 +01:00
rtc rtc: allow rtc_read_alarm without read_alarm callback 2023-03-11 13:57:31 +01:00
s390 s390/dasd: Fix potential memleak in dasd_eckd_init() 2023-03-10 09:39:04 +01:00
sbus
scsi scsi: ipr: Work around fortify-string warning 2023-03-11 13:57:31 +01:00
sh genirq: Add and use an irq_data_update_affinity helper 2023-03-11 13:57:31 +01:00
siox siox: fix possible memory leak in siox_device_add() 2022-11-26 09:24:36 +01:00
slimbus slimbus: stream: correct presence rate frequencies 2022-11-26 09:24:44 +01:00
soc PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe() 2023-02-01 08:27:06 +01:00
soundwire soundwire: cadence: Don't overflow the command FIFOs 2023-03-10 09:39:35 +01:00
spi spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one() 2023-03-10 09:39:31 +01:00
spmi spmi: pmic-arb: correct duplicate APID to PPID mapping logic 2022-10-26 12:35:19 +02:00
ssb
staging staging: mt7621-dts: change palmbus address to lower case 2023-03-03 11:45:53 +01:00
target scsi: target: core: Fix warning on RT kernels 2023-02-09 11:26:39 +01:00
tc
tee tee: optee: fix possible memory leak in optee_register_device() 2022-12-02 17:41:03 +01:00
thermal thermal: intel: BXT_PMIC: select REGMAP instead of depending on it 2023-03-11 13:57:32 +01:00
thunderbolt thunderbolt: Use correct function to calculate maximum USB3 link rate 2023-01-24 07:22:46 +01:00
tty vc_screen: modify vcs_size() handling in vcs_read() 2023-03-11 13:57:30 +01:00
uio uio: uio_dmem_genirq: Fix deadlock between irq config and handling 2022-12-31 13:14:27 +01:00
usb usb: max-3421: Fix setting of I/O pins 2023-03-10 09:39:41 +01:00
vdpa vduse: Validate vq_num in vduse_validate_config() 2023-01-24 07:22:41 +01:00
vfio vfio/type1: restore locked_vm 2023-03-10 09:40:13 +01:00
vhost vhost/net: Clear the pending messages when the backend is removed 2023-02-09 11:26:34 +01:00
video Revert "fbcon: don't lose the console font across generic->chip driver switch" 2023-03-10 09:39:52 +01:00
virt
virtio virtio_pci: modify ENOENT to EINVAL 2023-01-24 07:22:41 +01:00
visorbus
vlynq
vme vme: Fix error not catched in fake_init() 2022-12-31 13:14:30 +01:00
w1 w1: fix WARNING after calling w1_process() 2023-02-01 08:27:14 +01:00
watchdog watchdog: sbsa_wdog: Make sure the timeout programming is within the limits 2023-03-11 13:57:27 +01:00
xen genirq: Add and use an irq_data_update_affinity helper 2023-03-11 13:57:31 +01:00
zorro
Kconfig
Makefile