diff options
author | Gustavo A. R. Silva <gustavoars@kernel.org> | 2021-09-29 17:29:22 -0500 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2021-10-01 17:27:42 +0530 |
commit | ae8f13f0a6fdd7562e420b756daa9b807e05f775 (patch) | |
tree | 71959c041522cbe7cda9c237dbb636aa5a6020a5 | |
parent | 9558cf4ad07e8913c14e83959212ae8fdf60cfea (diff) | |
download | linux-ae8f13f0a6fdd7562e420b756daa9b807e05f775.tar.bz2 |
dmaengine: stm32-mdma: Use struct_size() helper in devm_kzalloc()
Make use of the struct_size() helper instead of an open-coded version,
in order to avoid any potential type mistakes or integer overflows that,
in the worse scenario, could lead to heap overflows.
Link: https://github.com/KSPP/linux/issues/160
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210929222922.GA357509@embeddedor
Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r-- | drivers/dma/stm32-mdma.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/dma/stm32-mdma.c b/drivers/dma/stm32-mdma.c index 18cbd1e43c2e..d30a4a28d3bf 100644 --- a/drivers/dma/stm32-mdma.c +++ b/drivers/dma/stm32-mdma.c @@ -1566,7 +1566,8 @@ static int stm32_mdma_probe(struct platform_device *pdev) if (count < 0) count = 0; - dmadev = devm_kzalloc(&pdev->dev, sizeof(*dmadev) + sizeof(u32) * count, + dmadev = devm_kzalloc(&pdev->dev, + struct_size(dmadev, ahb_addr_masks, count), GFP_KERNEL); if (!dmadev) return -ENOMEM; |