android_kernel_motorola_sm6375/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Dan Carpenter 84fff8e6f1 dmaengine: nbpfaxi: Fix memory corruption in probe()
commit 188c6ba1dd925849c5d94885c8bbdeb0b3dcf510 upstream.

The nbpf->chan[] array is allocated earlier in the nbpf_probe() function
and it has "num_channels" elements.  These three loops iterate one
element farther than they should and corrupt memory.

The changes to the second loop are more involved.  In this case, we're
copying data from the irqbuf[] array into the nbpf->chan[] array.  If
the data in irqbuf[i] is the error IRQ then we skip it, so the iterators
are not in sync.  I added a check to ensure that we don't go beyond the
end of the irqbuf[] array.  I'm pretty sure this can't happen, but it
seemed harmless to add a check.

On the other hand, after the loop has ended there is a check to ensure
that the "chan" iterator is where we expect it to be.  In the original
code we went one element beyond the end of the array so the iterator
wasn't in the correct place and it would always return -EINVAL.  However,
now it will always be in the correct place.  I deleted the check since
we know the result.

Cc: stable@vger.kernel.org
Fixes: b45b262cef ("dmaengine: add a driver for AMBA AXI NBPF DMAC IP cores")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/b13c5225-7eff-448c-badc-a2c98e9bcaca@sabinyo.mountain
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-08-28 16:21:15 +02:00
..
accessibility
acpi Revert "ACPI: battery: negate current when discharging" 2025-07-17 18:25:03 +02:00
amba
android binder: fix UAF caused by offsets overwrite 2024-09-12 11:03:55 +02:00
ata ata: pata_cs5536: fix build on 32-bit UML 2025-07-17 18:24:57 +02:00
atm atm: idt77252: Add missing dma_map_error() 2025-07-17 18:25:05 +02:00
auxdisplay
base PM: runtime: fix denying of auto suspend in pm_suspend_timer_fn() 2025-06-27 11:02:53 +01:00
bcma
block aoe: clean device rq_list in aoedev_downdev() 2025-06-27 11:02:57 +01:00
bluetooth Bluetooth: btrtl: Prevent potential NULL dereference 2025-05-02 07:39:19 +02:00
bus Revert "bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first" 2025-06-27 11:02:55 +01:00
cdrom
char virtio_console: fix missing byte order handling for cols and rows 2025-05-02 07:39:26 +02:00
clk clk: rockchip: rk3036: mark ddrphy as critical 2025-06-27 11:02:55 +01:00
clocksource clocksource/i8253: Use raw_spinlock_irqsave() in clockevent_i8253_disable() 2025-06-04 14:32:29 +02:00
connector
counter counter: stm32-lptimer-cnt: fix error handling when enabling 2025-04-10 14:29:39 +02:00
cpufreq cpufreq: Force sync policy boost with global boost on sysfs update 2025-06-27 11:02:54 +01:00
cpuidle cpuidle: menu: Avoid discarding useful information 2025-06-04 14:32:32 +02:00
crypto crypto: marvell/cesa - Avoid empty transfer descriptor 2025-06-27 11:02:45 +01:00
dax
dca
devfreq
dio
dma dmaengine: nbpfaxi: Fix memory corruption in probe() 2025-08-28 16:21:15 +02:00
dma-buf dma-buf: fix timeout handling in dma_resv_wait_timeout v2 2025-07-17 18:25:04 +02:00
edac EDAC/altera: Use correct write width with the INTTEST register 2025-06-27 11:02:51 +01:00
eisa
extcon
firewire
firmware firmware: psci: Fix refcount leak in psci_dt_init 2025-06-27 11:02:46 +01:00
fpga fpga: altera-cvp: Increase credit timeout 2025-06-04 14:32:32 +02:00
fsi
gnss
gpio gpio: zynq: Fix wakeup source leaks on device unbind 2025-05-02 07:39:17 +02:00
gpu drm/exynos: exynos7_drm_decon: add vblank check in IRQ handling 2025-07-17 18:25:01 +02:00
greybus
hid HID: core: do not bypass hid_hw_raw_request 2025-08-28 16:21:14 +02:00
hsi HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition 2025-05-02 07:39:18 +02:00
hv Drivers: hv: vmbus: Don't release fb_mmio resource in vmbus_free_mmio() 2025-04-10 14:29:35 +02:00
hwmon hwmon: (occ) fix unaligned accesses 2025-06-27 11:02:57 +01:00
hwspinlock
hwtracing coresight: catu: Fix number of pages while using 64k pages 2025-04-10 14:29:41 +02:00
i2c i2c: stm32: fix the device used for the DMA map 2025-08-28 16:21:14 +02:00
i3c i3c: Add NULL pointer check in i3c_master_queue_ibi() 2025-05-02 07:39:15 +02:00
ide
idle
iio iio: pressure: zpa2326: Use aligned_s64 for the timestamp 2025-07-17 18:24:50 +02:00
infiniband RDMA/mlx5: Fix vport loopback for MPV device 2025-07-17 18:25:03 +02:00
input Input: xpad - set correct controller type for Acer NGR200 2025-08-28 16:21:14 +02:00
interconnect
iommu iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid 2025-06-04 14:32:26 +02:00
ipack
irqchip irqchip/gic-v2m: Prevent use after free of gicv2m_get_fwnode() 2025-06-04 14:32:25 +02:00
isdn
leds leds: lp8860: Write full EEPROM, not only half of it 2025-03-13 12:43:06 +01:00
lightnvm
macintosh
mailbox mailbox: Not protect module_put with spin_lock_irqsave 2025-07-17 18:24:49 +02:00
mcb mcb: fix a double free bug in chameleon_parse_gdd() 2025-05-02 07:39:26 +02:00
md md/raid1: Fix stack memory use after return in raid1_reshape 2025-07-17 18:25:04 +02:00
media media: uvcvideo: Rollback non processed entities on error 2025-07-17 18:25:01 +02:00
memory
memstick memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove 2025-04-10 14:29:39 +02:00
message scsi: fusion: Remove unused variable 'rc' 2024-12-14 19:44:29 +01:00
mfd mfd: max14577: Fix wakeup source leaks on device unbind 2025-07-17 18:24:49 +02:00
misc VMCI: fix race between vmci_host_setup_notify and vmci_ctx_unset_notify 2025-07-17 18:24:51 +02:00
mmc mtk-sd: reset host->mrq on prepare_data() error 2025-07-17 18:24:58 +02:00
mtd mtd: nand: sunxi: Add randomizer configuration before randomizer enable 2025-06-27 11:02:52 +01:00
mux
net net: usb: qmi_wwan: add SIMCom 8230C composition 2025-07-17 18:25:05 +02:00
nfc
ntb ntb: reduce stack usage in idt_scan_mws 2025-05-02 07:39:28 +02:00
nubus
nvdimm libnvdimm/labels: Fix divide error in nd_label_data_init() 2025-06-04 14:32:30 +02:00
nvme nvmet-tcp: don't restore null sk_state_change 2025-06-04 14:32:35 +02:00
nvmem nvmem: core: improve range check for nvmem_cell_write() 2025-03-13 12:43:10 +01:00
of of: module: add buffer overflow check in of_modalias() 2025-06-04 14:32:25 +02:00
opp
oprofile
parisc
parport parport_pc: add support for ASIX AX99100 2025-03-13 12:43:19 +01:00
pci PCI: Fix lock symmetry in pci_slot_unlock() 2025-06-27 11:02:52 +01:00
pcmcia
perf perf: arm_pmu: Don't disable counter in armpmu_add() 2025-05-02 07:39:09 +02:00
phy phy: core: don't require set_mode() callback for phy_get_mode() to work 2025-06-04 14:32:33 +02:00
pinctrl pinctrl: qcom: msm: mark certain pins as invalid for interrupts 2025-07-17 18:25:03 +02:00
platform platform/mellanox: mlxbf-tmfifo: fix vring_desc.len assignment 2025-07-17 18:24:56 +02:00
pnp
power power: supply: bq27xxx: Retrieve again when busy 2025-06-27 11:02:53 +01:00
powercap powercap: call put_device() on an error path in powercap_register_control_type() 2025-04-10 14:29:36 +02:00
pps pps: Fix a use-after-free 2025-03-13 12:43:19 +01:00
ps3
ptp ptp: Ensure info->enable callback is always set 2025-03-13 12:43:11 +01:00
pwm pwm: mediatek: Ensure to disable clocks in error path 2025-07-17 18:25:03 +02:00
rapidio drivers/rapidio/rio_cm.c: prevent possible heap overwrite 2025-06-27 11:02:56 +01:00
ras
regulator regulator: gpio: Fix the out-of-bounds access to drvdata::gpiods 2025-07-17 18:24:58 +02:00
remoteproc
reset reset: berlin: fix OF node leak in probe() error path 2024-11-08 16:20:28 +01:00
rpmsg rpmsg: qcom_smd: Fix uninitialized return variable in __qcom_smd_send() 2025-06-27 11:02:48 +01:00
rtc rtc: test: Fix invalid format specifier. 2025-06-27 11:02:58 +01:00
s390 scsi: s390: zfcp: Ensure synchronous unit_add 2025-06-27 11:02:56 +01:00
sbus
scsi scsi: ufs: core: Fix spelling of a sysfs attribute name 2025-07-17 18:24:58 +02:00
sfi
sh sh: clk: Fix clk_enable() to return 0 on NULL clk 2025-01-09 13:23:29 +01:00
siox
slimbus slimbus: messaging: Free transaction ID in delayed interrupt scenario 2025-03-13 12:43:33 +01:00
soc soc: aspeed: Add NULL check in aspeed_lpc_enable_snoop() 2025-06-27 11:02:48 +01:00
soundwire soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps" 2024-11-08 16:20:25 +01:00
spi spi: spi-fsl-dspi: Clear completion counter before initiating transfer 2025-07-17 18:25:00 +02:00
spmi
ssb
staging staging: rtl8723bs: Avoid memset() in aes_cipher() and aes_decipher() 2025-07-17 18:25:01 +02:00
target scsi: target: iscsi: Fix timeout on deleted connection 2025-06-04 14:32:29 +02:00
tc
tee tee: Prevent size calculation wraparound on 32-bit kernels 2025-06-27 11:02:55 +01:00
thermal thermal/drivers/rockchip: Add missing rk3328 mapping entry 2025-05-02 07:39:16 +02:00
thunderbolt thunderbolt: Do not double dequeue a configuration request 2025-06-27 11:02:44 +01:00
tty pch_uart: Fix dma_sync_sg_for_device() nents value 2025-08-28 16:21:14 +02:00
uio uio_hv_generic: Use correct size for interrupt and monitor pages 2025-06-27 11:02:52 +01:00
usb usb: gadget: configfs: Fix OOB read on empty string write 2025-08-28 16:21:13 +02:00
vfio vfio/pci: Enable iowrite64 and ioread64 for vfio pci 2025-03-13 12:43:13 +01:00
vhost
video vgacon: Add check for vc_origin address range in vgacon_scroll() 2025-06-27 11:02:51 +01:00
virt
virtio
visorbus
vlynq
vme
w1
watchdog watchdog: da9052_wdt: respect TWDMIN 2025-06-27 11:02:55 +01:00
xen xen/swiotlb: relax alignment requirements 2025-06-04 14:32:37 +02:00
zorro
Kconfig
Makefile