]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mtd: use vmalloc_array and vcalloc to simplify code
authorQianfeng Rong <rongqianfeng@vivo.com>
Tue, 12 Aug 2025 03:58:53 +0000 (11:58 +0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 11 Sep 2025 15:34:15 +0000 (17:34 +0200)
Remove array_size() calls and replace vmalloc(array_size()) with
vmalloc_array() and vzalloc(array_size()) with vcalloc() to simplify
the code.

Compile-tested only.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/ftl.c
drivers/mtd/mtdoops.c
drivers/mtd/mtdswap.c
drivers/mtd/nand/raw/nandsim.c
drivers/mtd/rfd_ftl.c

index f2bd1984609cccc61ba386025ebd685b8f1608fe..59a9015492570bd4bc0b98191d220d591dffd60b 100644 (file)
@@ -263,7 +263,7 @@ static int build_maps(partition_t *part)
 
     /* Set up virtual page map */
     blocks = le32_to_cpu(header.FormattedSize) >> header.BlockSize;
-    part->VirtualBlockMap = vmalloc(array_size(blocks, sizeof(uint32_t)));
+    part->VirtualBlockMap = vmalloc_array(blocks, sizeof(uint32_t));
     if (!part->VirtualBlockMap)
            goto out_XferInfo;
 
index 7bf3777e1f1374fd5fb4b6009f097182ab62179e..b88083751a0c7a4cce0c1b513ca428898d2040d7 100644 (file)
@@ -356,9 +356,8 @@ static void mtdoops_notify_add(struct mtd_info *mtd)
 
        /* oops_page_used is a bit field */
        cxt->oops_page_used =
-               vmalloc(array_size(sizeof(unsigned long),
-                                  DIV_ROUND_UP(mtdoops_pages,
-                                               BITS_PER_LONG)));
+               vmalloc_array(DIV_ROUND_UP(mtdoops_pages, BITS_PER_LONG),
+                             sizeof(unsigned long));
        if (!cxt->oops_page_used) {
                pr_err("could not allocate page array\n");
                return;
index 680366616da240039ecfb4cc59c83fcc4b1bf615..d8f2e5be2d315e9b90f34e5eb2115d3ad3da92d6 100644 (file)
@@ -1285,11 +1285,11 @@ static int mtdswap_init(struct mtdswap_dev *d, unsigned int eblocks,
        for (i = 0; i < MTDSWAP_TREE_CNT; i++)
                d->trees[i].root = RB_ROOT;
 
-       d->page_data = vmalloc(array_size(pages, sizeof(int)));
+       d->page_data = vmalloc_array(pages, sizeof(int));
        if (!d->page_data)
                goto page_data_fail;
 
-       d->revmap = vmalloc(array_size(blocks, sizeof(int)));
+       d->revmap = vmalloc_array(blocks, sizeof(int));
        if (!d->revmap)
                goto revmap_fail;
 
index df48b7d01d16c392de134d90209c4a4a3a51aeec..84942e7e528fc522497fd273b7a2f727e9e8d020 100644 (file)
@@ -552,9 +552,8 @@ static int __init ns_alloc_device(struct nandsim *ns)
                        err = -EINVAL;
                        goto err_close_filp;
                }
-               ns->pages_written =
-                       vzalloc(array_size(sizeof(unsigned long),
-                                          BITS_TO_LONGS(ns->geom.pgnum)));
+               ns->pages_written = vcalloc(BITS_TO_LONGS(ns->geom.pgnum),
+                                           sizeof(unsigned long));
                if (!ns->pages_written) {
                        NS_ERR("alloc_device: unable to allocate pages written array\n");
                        err = -ENOMEM;
@@ -578,7 +577,7 @@ err_close_filp:
                return err;
        }
 
-       ns->pages = vmalloc(array_size(sizeof(union ns_mem), ns->geom.pgnum));
+       ns->pages = vmalloc_array(ns->geom.pgnum, sizeof(union ns_mem));
        if (!ns->pages) {
                NS_ERR("alloc_device: unable to allocate page array\n");
                return -ENOMEM;
index c546f8c5f24d60562b9aece8bfcf7bc7eda615c6..be26cc67a1c4cf440e60ada5a8b3c8860cdba80f 100644 (file)
@@ -190,8 +190,8 @@ static int scan_header(struct partition *part)
        if (!part->blocks)
                goto err;
 
-       part->sector_map = vmalloc(array_size(sizeof(u_long),
-                                             part->sector_count));
+       part->sector_map = vmalloc_array(part->sector_count,
+                                        sizeof(u_long));
        if (!part->sector_map)
                goto err;