Skip to content

Commit 3e5f1ff

Browse files
GustavoARSilvaandersson
authored andcommitted
hwspinlock: stm32: 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 worst scenario, could lead to heap overflows. Also, address the following sparse warnings: drivers/hwspinlock/stm32_hwspinlock.c:84:32: warning: using sizeof on a flexible structure Link: KSPP#174 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Baolin Wang <baolin.wang7@gmail.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20220125021353.GA29777@embeddedor
1 parent 571c349 commit 3e5f1ff

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

drivers/hwspinlock/stm32_hwspinlock.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,13 @@ static int stm32_hwspinlock_probe(struct platform_device *pdev)
7373
struct device *dev = &pdev->dev;
7474
struct stm32_hwspinlock *hw;
7575
void __iomem *io_base;
76-
size_t array_size;
7776
int i, ret;
7877

7978
io_base = devm_platform_ioremap_resource(pdev, 0);
8079
if (IS_ERR(io_base))
8180
return PTR_ERR(io_base);
8281

83-
array_size = STM32_MUTEX_NUM_LOCKS * sizeof(struct hwspinlock);
84-
hw = devm_kzalloc(dev, sizeof(*hw) + array_size, GFP_KERNEL);
82+
hw = devm_kzalloc(dev, struct_size(hw, bank.lock, STM32_MUTEX_NUM_LOCKS), GFP_KERNEL);
8583
if (!hw)
8684
return -ENOMEM;
8785

0 commit comments

Comments
 (0)