public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: SF Markus Elfring <elfring@users.sourceforge.net>
To: Devesh Sharma <devesh.sharma@avagotech.com>,
	Doug Ledford <dledford@redhat.com>,
	Hal Rosenstock <hal.rosenstock@gmail.com>,
	Sean Hefty <sean.hefty@intel.com>,
	Selvin Xavier <selvin.xavier@avagotech.com>,
	Yuval Shaia <yuval.shaia@oracle.com>,
	linux-rdma@vger.kernel.org
Cc: LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org
Subject: [PATCH v2 02/12] IB/ocrdma: Use kcalloc() in five functions
Date: Sat, 22 Apr 2017 16:33:00 +0200	[thread overview]
Message-ID: <bc2e618f-9bfe-25bb-af16-e915605fc112@users.sourceforge.net> (raw)
In-Reply-To: <86425035-7da8-d2b1-8544-d4f7540d50c6@users.sourceforge.net>

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 22 Apr 2017 11:41:55 +0200

* Multiplications for the size determination of memory allocations
  indicated that array data structures should be processed.
  Thus use the corresponding function "kcalloc".

  This issue was detected by using the Coccinelle software.

* Replace the specification of data types by pointer dereferences
  to make the corresponding size determinations a bit safer according to
  the Linux coding style convention.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---

v2:
Changes were rebased on source files from Linux next-20170421.
These were recombined as requested by Doug Ledford.

 drivers/infiniband/hw/ocrdma/ocrdma_hw.c    |  2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c  | 10 +++++-----
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 19 +++++++++----------
 3 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index c868314222b9..d5a3127b6df8 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -3103,7 +3103,7 @@ static int ocrdma_create_eqs(struct ocrdma_dev *dev)
 	if (!num_eq)
 		return -EINVAL;
 
-	dev->eq_tbl = kzalloc(sizeof(struct ocrdma_eq) * num_eq, GFP_KERNEL);
+	dev->eq_tbl = kcalloc(num_eq, sizeof(*dev->eq_tbl), GFP_KERNEL);
 	if (!dev->eq_tbl)
 		return -ENOMEM;
 
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index 57c9a2ad0260..91705b10f269 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
@@ -225,19 +225,19 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
 static int ocrdma_alloc_resources(struct ocrdma_dev *dev)
 {
 	mutex_init(&dev->dev_lock);
-	dev->cq_tbl = kzalloc(sizeof(struct ocrdma_cq *) *
-			      OCRDMA_MAX_CQ, GFP_KERNEL);
+	dev->cq_tbl = kcalloc(OCRDMA_MAX_CQ, sizeof(*dev->cq_tbl), GFP_KERNEL);
 	if (!dev->cq_tbl)
 		goto alloc_err;
 
 	if (dev->attr.max_qp) {
-		dev->qp_tbl = kzalloc(sizeof(struct ocrdma_qp *) *
-				      OCRDMA_MAX_QP, GFP_KERNEL);
+		dev->qp_tbl = kcalloc(OCRDMA_MAX_QP, sizeof(*dev->qp_tbl),
+				      GFP_KERNEL);
 		if (!dev->qp_tbl)
 			goto alloc_err;
 	}
 
-	dev->stag_arr = kzalloc(sizeof(u64) * OCRDMA_MAX_STAG, GFP_KERNEL);
+	dev->stag_arr = kcalloc(OCRDMA_MAX_STAG, sizeof(*dev->stag_arr),
+				GFP_KERNEL);
 	if (dev->stag_arr == NULL)
 		goto alloc_err;
 
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index c52edeafd616..146601c97158 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -879,9 +879,8 @@ static int ocrdma_build_pbl_tbl(struct ocrdma_dev *dev, struct ocrdma_hw_mr *mr)
 	void *va;
 	dma_addr_t pa;
 
-	mr->pbl_table = kzalloc(sizeof(struct ocrdma_pbl) *
-				mr->num_pbls, GFP_KERNEL);
-
+	mr->pbl_table = kcalloc(mr->num_pbls, sizeof(*mr->pbl_table),
+				GFP_KERNEL);
 	if (!mr->pbl_table)
 		return -ENOMEM;
 
@@ -1362,13 +1361,12 @@ static void ocrdma_set_qp_db(struct ocrdma_dev *dev, struct ocrdma_qp *qp,
 
 static int ocrdma_alloc_wr_id_tbl(struct ocrdma_qp *qp)
 {
-	qp->wqe_wr_id_tbl =
-	    kzalloc(sizeof(*(qp->wqe_wr_id_tbl)) * qp->sq.max_cnt,
-		    GFP_KERNEL);
+	qp->wqe_wr_id_tbl = kcalloc(qp->sq.max_cnt, sizeof(*qp->wqe_wr_id_tbl),
+				    GFP_KERNEL);
 	if (qp->wqe_wr_id_tbl == NULL)
 		return -ENOMEM;
-	qp->rqe_wr_id_tbl =
-	    kzalloc(sizeof(u64) * qp->rq.max_cnt, GFP_KERNEL);
+	qp->rqe_wr_id_tbl = kcalloc(qp->rq.max_cnt, sizeof(*qp->rqe_wr_id_tbl),
+				    GFP_KERNEL);
 	if (qp->rqe_wr_id_tbl == NULL)
 		return -ENOMEM;
 
@@ -1903,8 +1901,9 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd,
 		goto err;
 
 	if (udata == NULL) {
-		srq->rqe_wr_id_tbl = kzalloc(sizeof(u64) * srq->rq.max_cnt,
-			    GFP_KERNEL);
+		srq->rqe_wr_id_tbl = kcalloc(srq->rq.max_cnt,
+					     sizeof(*srq->rqe_wr_id_tbl),
+					     GFP_KERNEL);
 		if (srq->rqe_wr_id_tbl == NULL)
 			goto arm_err;
 
-- 
2.12.2

  parent reply	other threads:[~2017-04-22 14:33 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fc421509-4069-da8a-b308-60b49ea91ada@users.sourceforge.net>
2017-03-08 12:36 ` [PATCH 01/26] IB/ocrdma: Use kcalloc() in ocrdma_create_eqs() SF Markus Elfring
2017-03-08 12:41 ` [PATCH 02/26] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() SF Markus Elfring
2017-03-08 14:03   ` Yuval Shaia
2017-04-20 20:40     ` Doug Ledford
2017-03-08 12:45 ` [PATCH 03/26] IB/ocrdma: Improve size determinations in ocrdma_mbx_get_dcbx_config() SF Markus Elfring
2017-03-08 13:54   ` Yuval Shaia
2017-03-08 14:46     ` Devesh Sharma
2017-03-08 12:48 ` [PATCH 04/26] IB/ocrdma: Delete unnecessary variable initialisations " SF Markus Elfring
2017-03-08 14:06   ` Yuval Shaia
2017-03-08 12:50 ` [PATCH 05/26] IB/ocrdma: Improve another size determination in ocrdma_mbx_query_qp() SF Markus Elfring
2017-03-08 14:07   ` Yuval Shaia
2017-03-08 12:53 ` [PATCH 06/26] IB/ocrdma: Improve another size determination in ocrdma_alloc_pd_pool() SF Markus Elfring
2017-03-08 12:55 ` [PATCH 07/26] IB/ocrdma: Improve another size determination in ocrdma_mbx_get_ctrl_attribs() SF Markus Elfring
2017-03-08 14:08   ` Yuval Shaia
2017-03-08 12:58 ` [PATCH 08/26] IB/ocrdma: Improve size determinations in ocrdma_mbx_rdma_stats() SF Markus Elfring
2017-03-08 14:20   ` Yuval Shaia
2017-03-08 13:00 ` [PATCH 09/26] IB/ocrdma: Improve another size determination in ocrdma_mq_cq_handler() SF Markus Elfring
2017-03-08 14:22   ` Yuval Shaia
2017-03-08 13:02 ` [PATCH 10/26] IB/ocrdma: Improve another size determination in ocrdma_init_emb_mqe() SF Markus Elfring
2017-03-08 14:22   ` Yuval Shaia
2017-03-08 14:42     ` Devesh Sharma
2017-03-08 13:04 ` [PATCH 11/26] IB/ocrdma: Delete unnecessary braces SF Markus Elfring
2017-03-08 14:24   ` Yuval Shaia
2017-03-08 14:59   ` Devesh Sharma
2017-03-08 13:07 ` [PATCH 12/26] IB/ocrdma: Adjust ten checks for null pointers SF Markus Elfring
2017-03-08 14:27   ` Yuval Shaia
2017-03-08 13:09 ` [PATCH 13/26] IB/ocrdma: Use kcalloc() in ocrdma_alloc_resources() SF Markus Elfring
2017-03-08 13:10 ` [PATCH 14/26] IB/ocrdma: Improve another size determination in ocrdma_add() SF Markus Elfring
2017-03-08 14:27   ` Yuval Shaia
2017-03-08 13:13 ` [PATCH 15/26] IB/ocrdma: Delete an error message for a failed memory allocation " SF Markus Elfring
2017-03-08 15:03   ` Devesh Sharma
2017-03-08 15:26   ` Yuval Shaia
2017-03-08 13:15 ` [PATCH 16/26] IB/ocrdma: Adjust a null pointer check in ocrdma_alloc_resources() SF Markus Elfring
2017-03-08 15:03   ` Devesh Sharma
2017-03-09 11:42   ` Yuval Shaia
2017-03-08 13:17 ` [PATCH 17/26] IB/ocrdma: Use kmalloc_array() in ocrdma_create_srq() SF Markus Elfring
2017-03-08 15:05   ` Devesh Sharma
2017-03-08 13:19 ` [PATCH 18/26] IB/ocrdma: Use kcalloc() in three functions SF Markus Elfring
2017-03-08 15:10   ` Devesh Sharma
2017-03-08 13:20 ` [PATCH 19/26] IB/ocrdma: Improve another size determination in ocrdma_alloc_mr() SF Markus Elfring
2017-03-08 15:07   ` Devesh Sharma
2017-03-09 12:03   ` Yuval Shaia
2017-03-08 13:22 ` [PATCH 20/26] IB/ocrdma: Delete an unnecessary variable assignment " SF Markus Elfring
2017-03-08 15:13   ` Devesh Sharma
2017-03-09 11:59   ` Yuval Shaia
2017-03-08 13:24 ` [PATCH 21/26] IB/ocrdma: Improve another size determination in ocrdma_create_srq() SF Markus Elfring
2017-03-08 15:15   ` Devesh Sharma
2017-03-09 11:46   ` Yuval Shaia
2017-03-08 13:26 ` [PATCH 22/26] IB/ocrdma: Returning only value constants in ocrdma_resize_cq() SF Markus Elfring
2017-03-08 15:16   ` Devesh Sharma
2017-03-09 12:01   ` Yuval Shaia
2017-03-08 13:28 ` [PATCH 23/26] IB/ocrdma: Delete an unnecessary variable in ocrdma_dealloc_pd() SF Markus Elfring
2017-03-08 15:16   ` Devesh Sharma
2017-03-09 11:57   ` Yuval Shaia
2017-03-08 13:30 ` [PATCH 24/26] IB/ocrdma: One jump label less in ocrdma_alloc_ucontext_pd() SF Markus Elfring
2017-03-08 15:17   ` Devesh Sharma
2017-03-09 11:55   ` Yuval Shaia
2017-03-08 13:32 ` [PATCH 25/26] IB/ocrdma: Delete unnecessary braces SF Markus Elfring
2017-03-09 11:50   ` Yuval Shaia
2017-03-08 13:34 ` [PATCH 26/26] IB/ocrdma: Adjust further ten checks for null pointers SF Markus Elfring
2017-03-08 15:18   ` Devesh Sharma
2017-03-09 11:43     ` Yuval Shaia
     [not found] ` <1492720999.3041.18.camel@redhat.com>
2017-04-22 14:26   ` [PATCH v2 00/12] InfiniBand-OCRDMA: Fine-tuning for several function implementations SF Markus Elfring
2017-04-22 14:30     ` [PATCH v2 01/12] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() SF Markus Elfring
2017-04-24 16:27       ` Devesh Sharma
2017-04-25 17:02         ` Doug Ledford
2017-08-08 17:26           ` [v2 " SF Markus Elfring
2017-08-09  6:43             ` Leon Romanovsky
2017-04-22 14:33     ` SF Markus Elfring [this message]
2017-04-22 14:36     ` [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions SF Markus Elfring
2017-04-23  7:33       ` Leon Romanovsky
2017-04-24 12:54         ` Dennis Dalessandro
2017-04-24 13:23           ` SF Markus Elfring
2017-04-24 14:33             ` Leon Romanovsky
2017-04-24 14:54               ` SF Markus Elfring
2017-04-24 16:38           ` [PATCH v2 03/12] " Doug Ledford
2017-04-24 18:02             ` Leon Romanovsky
2017-04-24 16:38         ` Doug Ledford
2017-04-22 14:40     ` [PATCH v2 04/12] IB/ocrdma: Delete unnecessary variable initialisations in ocrdma_mbx_get_dcbx_config() SF Markus Elfring
2017-04-22 14:43     ` [PATCH v2 05/12] IB/ocrdma: Delete unnecessary braces SF Markus Elfring
2017-04-22 14:45     ` [PATCH v2 06/12] IB/ocrdma: Use kmalloc_array() in ocrdma_create_srq() SF Markus Elfring
2017-04-22 14:47     ` [PATCH v2 07/12] IB/ocrdma: Adjust 21 checks for null pointers SF Markus Elfring
2017-04-23  6:07       ` Leon Romanovsky
2017-04-22 14:48     ` [PATCH v2 08/12] IB/ocrdma: Delete an error message for a failed memory allocation in ocrdma_add() SF Markus Elfring
2017-04-22 14:49     ` [PATCH v2 09/12] IB/ocrdma: Delete an unnecessary variable assignment in ocrdma_alloc_mr() SF Markus Elfring
2017-04-22 14:50     ` [PATCH v2 10/12] IB/ocrdma: Returning only value constants in ocrdma_resize_cq() SF Markus Elfring
2017-04-22 14:51     ` [PATCH v2 11/12] IB/ocrdma: Delete an unnecessary variable in ocrdma_dealloc_pd() SF Markus Elfring
2017-04-22 14:54     ` [PATCH v2 12/12] IB/ocrdma: One jump label less in ocrdma_alloc_ucontext_pd() SF Markus Elfring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bc2e618f-9bfe-25bb-af16-e915605fc112@users.sourceforge.net \
    --to=elfring@users.sourceforge.net \
    --cc=devesh.sharma@avagotech.com \
    --cc=dledford@redhat.com \
    --cc=hal.rosenstock@gmail.com \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=sean.hefty@intel.com \
    --cc=selvin.xavier@avagotech.com \
    --cc=yuval.shaia@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox