Unverified Commit 37c95f02 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown
Browse files

regmap: cache: mapple: use kmalloc_array() to replace kmalloc()



Use kmalloc_array() to replace kmalloc() with multiplication.
kmalloc_array() has multiply overflow check, which will be safer.
In once case change kcalloc() as we don't need to clear the memory
since it's all being reinitialised just immediately after that.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20241121123433.4180133-1-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 40384c84
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -73,8 +73,7 @@ static int regcache_maple_write(struct regmap *map, unsigned int reg,

	rcu_read_unlock();

	entry = kmalloc((last - index + 1) * sizeof(unsigned long),
			map->alloc_flags);
	entry = kmalloc_array(last - index + 1, sizeof(*entry), map->alloc_flags);
	if (!entry)
		return -ENOMEM;

@@ -204,7 +203,7 @@ static int regcache_maple_sync_block(struct regmap *map, unsigned long *entry,
	 * overheads.
	 */
	if (max - min > 1 && regmap_can_raw_write(map)) {
		buf = kmalloc(val_bytes * (max - min), map->alloc_flags);
		buf = kmalloc_array(max - min, val_bytes, map->alloc_flags);
		if (!buf) {
			ret = -ENOMEM;
			goto out;
@@ -320,7 +319,7 @@ static int regcache_maple_insert_block(struct regmap *map, int first,
	unsigned long *entry;
	int i, ret;

	entry = kcalloc(last - first + 1, sizeof(unsigned long), map->alloc_flags);
	entry = kmalloc_array(last - first + 1, sizeof(*entry), map->alloc_flags);
	if (!entry)
		return -ENOMEM;