From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Fri, 26 Aug 2016 18:32:53 +0200

* 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 data structures by pointer dereferences
  to make the corresponding size determination a bit safer according to
  the Linux coding style convention.

Signed-off-by: Markus Elfring <elfr...@users.sourceforge.net>
---
 arch/ia64/sn/kernel/irq.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c
index 85d0951..c7f9eea 100644
--- a/arch/ia64/sn/kernel/irq.c
+++ b/arch/ia64/sn/kernel/irq.c
@@ -474,12 +474,12 @@ void __init sn_irq_lh_init(void)
 {
        int i;
 
-       sn_irq_lh = kmalloc(sizeof(struct list_head *) * NR_IRQS, GFP_KERNEL);
+       sn_irq_lh = kmalloc_array(NR_IRQS, sizeof(*sn_irq_lh), GFP_KERNEL);
        if (!sn_irq_lh)
                panic("SN PCI INIT: Failed to allocate memory for PCI init\n");
 
        for (i = 0; i < NR_IRQS; i++) {
-               sn_irq_lh[i] = kmalloc(sizeof(struct list_head), GFP_KERNEL);
+               sn_irq_lh[i] = kmalloc(*sn_irq_lh[i], GFP_KERNEL);
                if (!sn_irq_lh[i])
                        panic("SN PCI INIT: Failed IRQ memory allocation\n");
 
-- 
2.9.3

Reply via email to