powerpc/mpic_msgr: Use kcalloc and correct the argument to sizeof
authorHimangi Saraogi <himangi774@gmail.com>
Sat, 19 Jul 2014 21:53:35 +0000 (03:23 +0530)
committerScott Wood <scottwood@freescale.com>
Wed, 30 Jul 2014 00:26:31 +0000 (19:26 -0500)
mpic_msgrs has type struct mpic_msgr **, not struct mpic_msgr *, so the
elements of the array should have pointer type, not structure type.
The advantage of kcalloc is, that will prevent integer overflows which
could result from the multiplication of number of elements and size and
it is also a bit nicer to read.

The Coccinelle semantic patch that makes the first change is as follows:

// <smpl>
@disable sizeof_type_expr@
type T;
T **x;
@@

  x =
  <+...sizeof(
- T
+ *x
  )...+>
// </smpl>

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/sysdev/mpic_msgr.c

index 2c9b52aa266cc9ac68f29e45d9eb8272e95c8c1a..7bdf3cc741e4fb1998f78808bfaff2ffecc99a4d 100644 (file)
@@ -184,7 +184,7 @@ static int mpic_msgr_probe(struct platform_device *dev)
                dev_info(&dev->dev, "Found %d message registers\n",
                                mpic_msgr_count);
 
-               mpic_msgrs = kzalloc(sizeof(struct mpic_msgr) * mpic_msgr_count,
+               mpic_msgrs = kcalloc(mpic_msgr_count, sizeof(*mpic_msgrs),
                                                         GFP_KERNEL);
                if (!mpic_msgrs) {
                        dev_err(&dev->dev,