From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Fri, 21 Apr 2017 10:21:01 +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 "kcalloc".

  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 <elfr...@users.sourceforge.net>
Reviewed-by: Majd Dibbiny <m...@mellanox.com>
---
 drivers/infiniband/hw/mlx4/mad.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c
index db564ccc0f92..61bd81baeb29 100644
--- a/drivers/infiniband/hw/mlx4/mad.c
+++ b/drivers/infiniband/hw/mlx4/mad.c
@@ -1600,8 +1600,8 @@ static int mlx4_ib_alloc_pv_bufs(struct 
mlx4_ib_demux_pv_ctx *ctx,
                return -EINVAL;
 
        tun_qp = &ctx->qp[qp_type];
-
-       tun_qp->ring = kzalloc(sizeof (struct mlx4_ib_buf) * 
MLX4_NUM_TUNNEL_BUFS,
+       tun_qp->ring = kcalloc(MLX4_NUM_TUNNEL_BUFS,
+                              sizeof(*tun_qp->ring),
                               GFP_KERNEL);
        if (!tun_qp->ring)
                return -ENOMEM;
-- 
2.12.2

Reply via email to