summaryrefslogtreecommitdiffstats
path: root/drivers/hwspinlock
diff options
context:
space:
mode:
authorGustavo A. R. Silva <gustavoars@kernel.org>2022-01-25 16:57:23 -0600
committerBjorn Andersson <bjorn.andersson@linaro.org>2022-03-11 14:56:57 -0600
commit9a41358972eb35e6e45327035a67adfa4a223ed2 (patch)
treebae91597ed0a0fe29a164c87c4d00c8a835ea03b /drivers/hwspinlock
parent3e5f1ff7e4f297b928fb579fa1e8ec65a400162e (diff)
downloadlinux-stable-9a41358972eb35e6e45327035a67adfa4a223ed2.tar.gz
linux-stable-9a41358972eb35e6e45327035a67adfa4a223ed2.tar.bz2
linux-stable-9a41358972eb35e6e45327035a67adfa4a223ed2.zip
hwspinlock: sprd: 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/sprd_hwspinlock.c:96:36: warning: using sizeof on a flexible structure Link: https://github.com/KSPP/linux/issues/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/20220125225723.GA78256@embeddedor
Diffstat (limited to 'drivers/hwspinlock')
-rw-r--r--drivers/hwspinlock/sprd_hwspinlock.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/hwspinlock/sprd_hwspinlock.c b/drivers/hwspinlock/sprd_hwspinlock.c
index d221fc9d756d..22e2ffb91743 100644
--- a/drivers/hwspinlock/sprd_hwspinlock.c
+++ b/drivers/hwspinlock/sprd_hwspinlock.c
@@ -93,8 +93,7 @@ static int sprd_hwspinlock_probe(struct platform_device *pdev)
return -ENODEV;
sprd_hwlock = devm_kzalloc(&pdev->dev,
- sizeof(struct sprd_hwspinlock_dev) +
- SPRD_HWLOCKS_NUM * sizeof(*lock),
+ struct_size(sprd_hwlock, bank.lock, SPRD_HWLOCKS_NUM),
GFP_KERNEL);
if (!sprd_hwlock)
return -ENOMEM;