[PATCH v1 1/4] regmap: Switch to use kmemdup_array()

From: Andy Shevchenko

Date: Tue Nov 10 2026 - 04:52:51 EST


Let the kmemdup_array() take care about multiplication and possible
overflows.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
drivers/base/regmap/regmap.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index bc4e53ce8ecc..e327850ecc97 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -2595,9 +2595,9 @@ static int _regmap_multi_reg_write(struct regmap *map,
*/
range = _regmap_range_lookup(map, reg);
if (range || regs[i].delay_us) {
- size_t len = sizeof(struct reg_sequence)*num_regs;
- struct reg_sequence *base = kmemdup(regs, len,
- GFP_KERNEL);
+ struct reg_sequence *base;
+
+ base = kmemdup_array(regs, num_regs, sizeof(*regs), GFP_KERNEL);
if (!base)
return -ENOMEM;
ret = _regmap_range_multi_paged_reg_write(map, base,
--
2.50.1