]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
regmap: cache: mapple: use kmalloc_array() to replace kmalloc()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 21 Nov 2024 12:34:33 +0000 (14:34 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 2 Dec 2024 00:31:15 +0000 (00:31 +0000)
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: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20241121123433.4180133-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regcache-maple.c

index 23da7b31d7153450e1b16528be47216d7fbdd872..2319c30283a6d945346562d2088a81fec60db81e 100644 (file)
@@ -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;