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