linux/drivers/dma
Radhey Shyam Pandey 95a0ba85c1 dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type
[ Upstream commit f9a9f43a62 ]

In zynqmp_dma_alloc/free_chan_resources functions there is a
potential overflow in the below expressions.

dma_alloc_coherent(chan->dev, (2 * chan->desc_size *
		   ZYNQMP_DMA_NUM_DESCS),
		   &chan->desc_pool_p, GFP_KERNEL);

dma_free_coherent(chan->dev,(2 * ZYNQMP_DMA_DESC_SIZE(chan) *
                 ZYNQMP_DMA_NUM_DESCS),
                chan->desc_pool_v, chan->desc_pool_p);

The arguments desc_size and ZYNQMP_DMA_NUM_DESCS were 32 bit. Though
this overflow condition is not observed but it is a potential problem
in the case of 32-bit multiplication. Hence fix it by changing the
desc_size data type to size_t.

In addition to coverity fix it also reuse ZYNQMP_DMA_DESC_SIZE macro in
dma_alloc_coherent API argument.

Addresses-Coverity: Event overflow_before_widen.
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Link: https://lore.kernel.org/r/1652166762-18317-2-git-send-email-radhey.shyam.pandey@xilinx.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-14 18:32:38 +02:00
..
bestcomm
dw dmaengine: dw: Make it dependent to HAS_IOMEM 2021-04-21 13:00:50 +02:00
dw-axi-dmac
dw-edma dmaengine: dw-edma: Fix crash on loading/unloading driver 2021-05-22 11:40:52 +02:00
fsl-dpaa2-qdma dmaengine: fsl-dpaa2-qdma: Fix error return code in two functions 2021-06-23 14:42:40 +02:00
hsu dmaengine: hsu: disable spurious interrupt 2021-03-04 11:37:55 +01:00
idxd dmaengine: idxd: set DMA_INTERRUPT cap bit 2022-06-14 18:32:37 +02:00
ioat dmaengine: ioatdma: remove unused function missed during dma_v2 removal 2020-11-16 22:42:28 +05:30
ipu dmaengine: ipu: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
mediatek dmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources 2022-04-27 13:53:48 +02:00
ppc4xx dmaengine: ppc4xx: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
qcom dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM 2021-06-23 14:42:40 +02:00
sf-pdma dmaengine: SF_PDMA depends on HAS_IOMEM 2021-06-23 14:42:40 +02:00
sh dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error" 2022-04-13 21:01:10 +02:00
ti dmaengine: ti: k3-udma: Correct normal channel offset when uchan_cnt is not 0 2020-12-30 11:53:51 +01:00
xilinx dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type 2022-06-14 18:32:38 +02:00
acpi-dma.c dmaengine: acpi: Avoid comparison GSI with Linux vIRQ 2021-09-26 14:08:57 +02:00
altera-msgdma.c dmaengine: altera-msgdma: fix kernel-doc style for tasklet 2020-10-08 15:18:37 +05:30
amba-pl08x.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
at_hdmac_regs.h dmaengine: at_hdmac: Replace zero-length array with flexible-array 2020-05-13 20:25:16 +05:30
at_hdmac.c dmaengine: at_hdmac: convert tasklets to use new tasklet_setup() API 2020-09-18 12:18:11 +05:30
at_xdmac.c dma: at_xdmac: fix a missing check on list iterator 2022-04-27 13:53:55 +02:00
bcm-sba-raid.c
bcm2835-dma.c dmaengine: bcm2835: Drop local dma_parms 2020-09-11 17:42:12 +05:30
coh901318_lli.c
coh901318.c dmaengine: coh901318: convert tasklets to use new tasklet_setup() API 2020-09-18 12:18:11 +05:30
coh901318.h
dma-axi-dmac.c dmaengine: axi-dmac: Drop local dma_parms 2020-09-11 17:42:12 +05:30
dma-jz4780.c dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status 2020-10-05 09:58:48 +05:30
dmaengine.c dmaengine: Fix a double free in dma_async_device_register 2021-04-21 13:00:50 +02:00
dmaengine.h dmaengine: dmaengine_desc_callback_valid(): Check for callback_result 2021-11-18 14:04:24 +01:00
dmatest.c dmaengine: dmatest: Return boolean result directly in filter() 2020-09-22 20:18:41 +05:30
ep93xx_dma.c dmaengine: ep93xx: convert tasklets to use new tasklet_setup() API 2020-09-18 12:18:11 +05:30
fsl_raid.c dmaengine: fsl: remove bad channel update 2020-10-05 09:59:17 +05:30
fsl_raid.h
fsl-edma-common.c dmaengine: fsl-edma: fix wrong tcd endianness for big-endian cpu 2020-07-06 14:49:22 +05:30
fsl-edma-common.h dmaengine: fsl-edma-common: correct DSIZE_32BYTE 2020-07-06 10:24:49 +05:30
fsl-edma.c dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler 2020-06-24 13:05:01 +05:30
fsl-qdma.c dmaengine: fsl-qdma: check dma_set_mask return value 2021-07-20 16:05:38 +02:00
fsldma.c dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function 2021-03-04 11:37:55 +01:00
fsldma.h fsldma: fix very broken 32-bit ppc ioread64 functionality 2020-08-29 13:50:56 -07:00
hisi_dma.c dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma 2022-04-08 14:40:26 +02:00
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c dmaengine: imx-dma: configure the generic DMA type to make it work 2021-08-12 13:22:05 +02:00
imx-sdma.c dmaengine: imx-sdma: Fix error checking in sdma_event_remap 2022-04-27 13:53:48 +02:00
iop-adma.c Merge branch 'topic/tasklet' into next 2020-10-01 10:18:59 +05:30
iop-adma.h treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
k3dma.c dmaengine: k3dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
Kconfig dmaengine: ioat: depends on !UML 2021-09-26 14:09:00 +02:00
lpc18xx-dmamux.c
Makefile misc: mic: remove the MIC drivers 2020-10-28 19:12:03 +01:00
mcf-edma.c dmaengine: mcf-edma: Fix NULL pointer exception in mcf_edma_tx_handler 2020-06-24 13:06:15 +05:30
milbeaut-hdmac.c dmaengine: Replace zero-length array with flexible-array 2020-06-15 23:08:30 -05:00
milbeaut-xdmac.c dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of the probe function 2021-01-17 14:17:02 +01:00
mmp_pdma.c dmaengine: pxa/mmp: stop referencing config->slave_id 2022-01-27 10:54:07 +01:00
mmp_tdma.c dmaengine: mmp: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
moxart-dma.c dmaengine: Replace zero-length array with flexible-array 2020-06-15 23:08:30 -05:00
mpc512x_dma.c dmaengine: mpc512x: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
mv_xor_v2.c dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() 2020-12-30 11:53:21 +01:00
mv_xor.c dmaengine: mv_xor: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
mv_xor.h
mxs-dma.c dmaengine: mxs-dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
nbpfaxi.c dmaengine: nbpfaxi: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
of-dma.c dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available 2021-08-26 08:35:36 -04:00
owl-dma.c dmaengine: owl-dma: Fix a resource leak in the remove function 2021-03-04 11:37:55 +01:00
pch_dma.c dmaengine: pch_dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
pl330.c amba: Make the remove callback return void 2022-04-08 14:40:02 +02:00
plx_dma.c dmaengine: plx_dma: add a missing put_device() on error path 2021-04-21 13:00:51 +02:00
pxa_dma.c dmaengine: pxa/mmp: stop referencing config->slave_id 2022-01-27 10:54:07 +01:00
s3c24xx-dma.c
sa11x0-dma.c dmaengine: sa11x0: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
sirf-dma.c dmaengine: sirf-dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
sprd-dma.c dmaengine: sprd: Add missing MODULE_DEVICE_TABLE 2021-09-26 14:08:59 +02:00
st_fdma.c dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-22 09:30:53 +01:00
st_fdma.h
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c dmaengine: stedma40: add missing iounmap() on error in d40_probe() 2021-06-23 14:42:40 +02:00
stm32-dma.c dmaengine: stm32-dma: Fix PM usage counter imbalance in stm32 dma ops 2021-08-12 13:22:04 +02:00
stm32-dmamux.c dmaengine: stm32-dmamux: Fix PM disable depth imbalance in stm32_dmamux_probe 2022-02-23 12:01:07 +01:00
stm32-mdma.c dmaengine: stm32-mdma: fix chan initialization in stm32_mdma_irq_handler() 2022-06-09 10:21:20 +02:00
sun4i-dma.c dmaengine: sun4i-dma: Demote obvious misuse of kerneldoc to standard comment blocks 2020-07-15 17:50:47 +05:30
sun6i-dma.c dmaengine: sun6i: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
tegra20-apb-dma.c dmaengine: tegra20: Fix runtime PM imbalance on error 2021-04-28 13:40:01 +02:00
tegra210-adma.c dmaengine: tegra210-adma: Fix runtime PM imbalance on error 2020-06-24 15:11:39 +05:30
timb_dma.c dmaengine: timb_dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
TODO
txx9dmac.c dmaengine: txx9dmac: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
txx9dmac.h
uniphier-mdmac.c
uniphier-xdmac.c dmaengine: uniphier-xdmac: Fix type of address variables 2022-01-27 10:54:29 +01:00
virt-dma.c dmaengine: virt-dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
virt-dma.h
xgene-dma.c dmaengine: xgene: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
zx_dma.c dmaengine: zx: remove redundant irqsave in hardIRQ 2020-09-18 12:30:50 +05:30