clk: hisilicon: Use devm_kmalloc_array() in hisi_clk_alloc()
authorMarkus Elfring <elfring@users.sourceforge.net>
Tue, 18 Apr 2017 08:15:19 +0000 (10:15 +0200)
committerStephen Boyd <sboyd@codeaurora.org>
Wed, 19 Apr 2017 17:45:12 +0000 (10:45 -0700)
* A multiplication for the size determination of a memory allocation
  indicated that an array data structure should be processed.
  Thus use the corresponding function "devm_kmalloc_array".

  This issue was detected by using the Coccinelle software.

* Replace the specification of a data type 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>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/hisilicon/clk.c

index 9268e80..7e1e22e 100644 (file)
@@ -54,8 +54,9 @@ struct hisi_clock_data *hisi_clk_alloc(struct platform_device *pdev,
        if (!clk_data->base)
                return NULL;
 
-       clk_table = devm_kmalloc(&pdev->dev, sizeof(struct clk *) * nr_clks,
-                               GFP_KERNEL);
+       clk_table = devm_kmalloc_array(&pdev->dev, nr_clks,
+                                      sizeof(*clk_table),
+                                      GFP_KERNEL);
        if (!clk_table)
                return NULL;