From: Markus Elfring <[email protected]>
Date: Fri, 26 Aug 2016 19:43:34 +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 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 <[email protected]>
---
 arch/ia64/mm/tlb.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c
index 6d2f83d..30870d1 100644
--- a/arch/ia64/mm/tlb.c
+++ b/arch/ia64/mm/tlb.c
@@ -429,8 +429,9 @@ int ia64_itr_entry(u64 target_mask, u64 va, u64 pte, u64 
log_size)
        int cpu = smp_processor_id();
 
        if (!ia64_idtrs[cpu]) {
-               ia64_idtrs[cpu] = kmalloc(2 * IA64_TR_ALLOC_MAX *
-                               sizeof (struct ia64_tr_entry), GFP_KERNEL);
+               ia64_idtrs[cpu] = kmalloc_array(2 * IA64_TR_ALLOC_MAX,
+                                               sizeof(*ia64_idtrs[cpu]),
+                                               GFP_KERNEL);
                if (!ia64_idtrs[cpu])
                        return -ENOMEM;
        }
-- 
2.9.3

Reply via email to