IB/hfi1: Use kcalloc() in hfi1_user_exp_rcv_init()
authorMarkus Elfring <elfring@users.sourceforge.net>
Thu, 9 Feb 2017 14:30:53 +0000 (15:30 +0100)
committerDoug Ledford <dledford@redhat.com>
Thu, 20 Apr 2017 20:23:25 +0000 (16:23 -0400)
* A multiplication for the size determination of a memory allocation
  indicated that an array data structure should be processed.
  Thus reuse the corresponding function "kcalloc".

  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: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/user_exp_rcv.c

index 25a8698..002214e 100644 (file)
@@ -200,8 +200,9 @@ int hfi1_user_exp_rcv_init(struct file *fp)
 
        if (!HFI1_CAP_UGET_MASK(uctxt->flags, TID_UNMAP)) {
                fd->invalid_tid_idx = 0;
-               fd->invalid_tids = kzalloc(uctxt->expected_count *
-                                          sizeof(u32), GFP_KERNEL);
+               fd->invalid_tids = kcalloc(uctxt->expected_count,
+                                          sizeof(*fd->invalid_tids),
+                                          GFP_KERNEL);
                if (!fd->invalid_tids) {
                        ret = -ENOMEM;
                        goto done;