[PATCH v1] platform/chrome: chromeos_laptop: Use kmemdup_array instead of kmemdup for multiple allocation
From: Yu Jiaoliang
Date: Wed Aug 21 2024 - 06:35:54 EST
Let the kememdup_array() take care about multiplication and possible
overflows.
Signed-off-by: Yu Jiaoliang <yujiaoliang@xxxxxxxx>
---
drivers/platform/chrome/chromeos_laptop.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/platform/chrome/chromeos_laptop.c b/drivers/platform/chrome/chromeos_laptop.c
index a2cdbfbaeae6..7bedd82dd3a5 100644
--- a/drivers/platform/chrome/chromeos_laptop.c
+++ b/drivers/platform/chrome/chromeos_laptop.c
@@ -749,10 +749,9 @@ chromeos_laptop_prepare_i2c_peripherals(struct chromeos_laptop *cros_laptop,
if (!src->num_i2c_peripherals)
return 0;
- i2c_peripherals = kmemdup(src->i2c_peripherals,
- src->num_i2c_peripherals *
- sizeof(*src->i2c_peripherals),
- GFP_KERNEL);
+ i2c_peripherals =
+ kmemdup_array(src->i2c_peripherals, src->num_i2c_peripherals,
+ sizeof(*src->i2c_peripherals), GFP_KERNEL);
if (!i2c_peripherals)
return -ENOMEM;
--
2.34.1