net: mvpp2: Use kmalloc_array() in mvpp2_txq_init()
authorMarkus Elfring <elfring@users.sourceforge.net>
Mon, 17 Apr 2017 06:09:07 +0000 (08:09 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Apr 2017 17:55:06 +0000 (13:55 -0400)
* 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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2.c

index af5bfa13d976d20ffa75129f27ce69a87ddc7bc1..a86d9111c4761739dd73cb919e3adf707be2a77d 100644 (file)
@@ -5083,9 +5083,9 @@ static int mvpp2_txq_init(struct mvpp2_port *port,
        for_each_present_cpu(cpu) {
                txq_pcpu = per_cpu_ptr(txq->pcpu, cpu);
                txq_pcpu->size = txq->size;
-               txq_pcpu->buffs = kmalloc(txq_pcpu->size *
-                                         sizeof(struct mvpp2_txq_pcpu_buf),
-                                         GFP_KERNEL);
+               txq_pcpu->buffs = kmalloc_array(txq_pcpu->size,
+                                               sizeof(*txq_pcpu->buffs),
+                                               GFP_KERNEL);
                if (!txq_pcpu->buffs)
                        goto error;