mmc: mmc_test: Use kmalloc_array() in mmc_test_area_init()
authorMarkus Elfring <elfring@users.sourceforge.net>
Sun, 8 Jan 2017 17:44:26 +0000 (18:44 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 13 Feb 2017 12:20:07 +0000 (13:20 +0100)
* A multiplication for the size determination of a memory allocation
  indicated that an array data structure should be processed.
  Thus use the corresponding function "kmalloc_array".

  This issue was detected by using the Coccinelle software.

* Replace the specification of a data structure by a pointer dereference
  to make the corresponding size determination a bit safer according to
  the Linux coding style convention.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/mmc_test.c

index bd8eb9bfc15353f512339faa5dbbc21009439e1b..de0d675ef37f814a94c2fb8b6552a28de7972cd7 100644 (file)
@@ -1579,7 +1579,7 @@ static int mmc_test_area_init(struct mmc_test_card *test, int erase, int fill)
        if (!t->mem)
                return -ENOMEM;
 
-       t->sg = kmalloc(sizeof(struct scatterlist) * t->max_segs, GFP_KERNEL);
+       t->sg = kmalloc_array(t->max_segs, sizeof(*t->sg), GFP_KERNEL);
        if (!t->sg) {
                ret = -ENOMEM;
                goto out_free;