kernel_optimize_test/drivers/dma
Pierre-Yves MORDRET 3e4543bf20 dmaengine: stm32-dmamux: fix a potential buffer overflow
The bitfield dma_inuse is allocated of size dma_requests bits, thus a
valid bit address is from 0 to (dma_requests - 1).
When find_first_zero_bit() fails, it returns dma_requests as invalid
address.
Using such address for the following set_bit() is incorrect and, if
dma_requests is a multiple of BITS_PER_LONG, it will cause a buffer
overflow.
Currently this driver is only used in DT stm32h743.dtsi where a safe value
dma_requests=16 is not triggering the buffer overflow.

Fixed by checking the return value of find_first_zero_bit() _before_
using it.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2018-03-22 10:51:35 +05:30
..
bestcomm
dw
hsu
ioat
ipu
ppc4xx
qcom
sh dmaengine: rcar-dmac: fix max_chunk_size for R-Car Gen3 2018-02-27 20:34:38 +05:30
xilinx
acpi-dma.c
altera-msgdma.c
amba-pl08x.c
at_hdmac_regs.h
at_hdmac.c
at_xdmac.c
bcm-sba-raid.c
bcm2835-dma.c
coh901318_lli.c
coh901318.c
coh901318.h
cppi41.c
dma-axi-dmac.c
dma-jz4740.c
dma-jz4780.c
dmaengine.c
dmaengine.h
dmatest.c
edma.c
ep93xx_dma.c
fsl_raid.c
fsl_raid.h
fsl-edma.c
fsldma.c
fsldma.h
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c
imx-sdma.c
iop-adma.c
k3dma.c
Kconfig
lpc18xx-dmamux.c
Makefile
mic_x100_dma.c
mic_x100_dma.h
mmp_pdma.c
mmp_tdma.c
moxart-dma.c
mpc512x_dma.c
mv_xor_v2.c dmaengine: mv_xor_v2: Fix clock resource by adding a register clock 2018-03-11 20:33:27 +05:30
mv_xor.c
mv_xor.h
mxs-dma.c
nbpfaxi.c
of-dma.c
omap-dma.c
pch_dma.c
pl330.c
pxa_dma.c
s3c24xx-dma.c
sa11x0-dma.c
sirf-dma.c
sprd-dma.c
st_fdma.c
st_fdma.h
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c
stm32-dma.c
stm32-dmamux.c dmaengine: stm32-dmamux: fix a potential buffer overflow 2018-03-22 10:51:35 +05:30
stm32-mdma.c
sun4i-dma.c
sun6i-dma.c
tegra20-apb-dma.c
tegra210-adma.c
ti-dma-crossbar.c
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
virt-dma.c
virt-dma.h
xgene-dma.c
zx_dma.c