Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1628843 > unrolled thread
| Started by | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| First post | 2017-04-22 16:30 +0200 |
| Last post | 2017-04-22 17:00 +0200 |
| Articles | 20 on this page of 24 — 5 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v2 00/12] InfiniBand-OCRDMA: Fine-tuning for several function implementations SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:30 +0200
[PATCH v2 01/12] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:40 +0200
Re: [PATCH v2 01/12] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() Devesh Sharma <devesh.sharma@broadcom.com> - 2017-04-24 18:30 +0200
Re: [PATCH v2 01/12] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() Doug Ledford <dledford@redhat.com> - 2017-04-25 19:10 +0200
[PATCH v2 02/12] IB/ocrdma: Use kcalloc() in five functions SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:40 +0200
[PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:40 +0200
Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions Leon Romanovsky <leon@kernel.org> - 2017-04-23 09:40 +0200
Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions Dennis Dalessandro <dennis.dalessandro@intel.com> - 2017-04-24 15:00 +0200
Re: IB/ocrdma: Improve size determinations in ten functions SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-24 15:30 +0200
Re: IB/ocrdma: Improve size determinations in ten functions Leon Romanovsky <leon@kernel.org> - 2017-04-24 16:40 +0200
Re: IB/ocrdma: Improve size determinations in ten functions SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-24 17:00 +0200
Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions Doug Ledford <dledford@redhat.com> - 2017-04-24 18:40 +0200
Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions Leon Romanovsky <leon@kernel.org> - 2017-04-24 20:10 +0200
Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions Doug Ledford <dledford@redhat.com> - 2017-04-24 18:40 +0200
[PATCH v2 07/12] IB/ocrdma: Adjust 21 checks for null pointers SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:50 +0200
Re: [PATCH v2 07/12] IB/ocrdma: Adjust 21 checks for null pointers Leon Romanovsky <leon@kernel.org> - 2017-04-23 08:10 +0200
[PATCH v2 04/12] IB/ocrdma: Delete unnecessary variable initialisations in ocrdma_mbx_get_dcbx_config() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:50 +0200
[PATCH v2 08/12] IB/ocrdma: Delete an error message for a failed memory allocation in ocrdma_add() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:50 +0200
[PATCH v2 06/12] IB/ocrdma: Use kmalloc_array() in ocrdma_create_srq() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:50 +0200
[PATCH v2 05/12] IB/ocrdma: Delete unnecessary braces SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 16:50 +0200
[PATCH v2 11/12] IB/ocrdma: Delete an unnecessary variable in ocrdma_dealloc_pd() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 17:00 +0200
[PATCH v2 12/12] IB/ocrdma: One jump label less in ocrdma_alloc_ucontext_pd() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 17:00 +0200
[PATCH v2 09/12] IB/ocrdma: Delete an unnecessary variable assignment in ocrdma_alloc_mr() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 17:00 +0200
[PATCH v2 10/12] IB/ocrdma: Returning only value constants in ocrdma_resize_cq() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-04-22 17:00 +0200
Page 1 of 2 [1] 2 Next page →
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:30 +0200 |
| Subject | [PATCH v2 00/12] InfiniBand-OCRDMA: Fine-tuning for several function implementations |
| Message-ID | <tz4cW-3Ys-9@gated-at.bofh.it> |
From: Markus Elfring <elfring@users.sourceforge.net> Date: Sat, 22 Apr 2017 16:16:06 +0200 Several update suggestions were taken into account from static source code analysis. Markus Elfring (12): Use kcalloc() in ocrdma_mbx_alloc_pd_range() Use kcalloc() in five functions Improve size determinations in ten functions Delete unnecessary variable initialisations in ocrdma_mbx_get_dcbx_config() Delete unnecessary braces Use kmalloc_array() in ocrdma_create_srq() Adjust 21 checks for null pointers Delete an error message for a failed memory allocation in ocrdma_add() Delete an unnecessary variable assignment in ocrdma_alloc_mr() Returning only value constants in ocrdma_resize_cq() Delete an unnecessary variable in ocrdma_dealloc_pd() One jump label less in ocrdma_alloc_ucontext_pd() --- v2: Changes were rebased on source files from Linux next-20170421. Some of them were recombined into bigger update steps as requested by Doug Ledford. drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 88 ++++++++++----------- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 19 +++-- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 118 ++++++++++++---------------- 3 files changed, 100 insertions(+), 125 deletions(-) -- 2.12.2
[toc] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:40 +0200 |
| Subject | [PATCH v2 01/12] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() |
| Message-ID | <tz4mB-41z-1@gated-at.bofh.it> |
| In reply to | #1628843 |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 22 Apr 2017 11:33:25 +0200
* Multiplications for the size determination of memory allocations
indicated that array data structures should be processed.
Thus reuse the corresponding function "kcalloc".
This issue was detected by using the Coccinelle software.
* Delete the local variable "pd_bitmap_size" which became unnecessary
with this refactoring.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index aa6967197620..c868314222b9 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -1505,7 +1505,6 @@ int ocrdma_mbx_dealloc_pd(struct ocrdma_dev *dev, struct ocrdma_pd *pd)
static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev)
{
int status = -ENOMEM;
- size_t pd_bitmap_size;
struct ocrdma_alloc_pd_range *cmd;
struct ocrdma_alloc_pd_range_rsp *rsp;
@@ -1527,10 +1526,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev)
dev->pd_mgr->pd_dpp_start = rsp->dpp_page_pdid &
OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK;
dev->pd_mgr->max_dpp_pd = rsp->pd_count;
- pd_bitmap_size =
- BITS_TO_LONGS(rsp->pd_count) * sizeof(long);
- dev->pd_mgr->pd_dpp_bitmap = kzalloc(pd_bitmap_size,
- GFP_KERNEL);
+ dev->pd_mgr->pd_dpp_bitmap
+ = kcalloc(BITS_TO_LONGS(rsp->pd_count),
+ sizeof(long),
+ GFP_KERNEL);
}
kfree(cmd);
}
@@ -1546,9 +1545,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev)
dev->pd_mgr->pd_norm_start = rsp->dpp_page_pdid &
OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK;
dev->pd_mgr->max_normal_pd = rsp->pd_count;
- pd_bitmap_size = BITS_TO_LONGS(rsp->pd_count) * sizeof(long);
- dev->pd_mgr->pd_norm_bitmap = kzalloc(pd_bitmap_size,
- GFP_KERNEL);
+ dev->pd_mgr->pd_norm_bitmap
+ = kcalloc(BITS_TO_LONGS(rsp->pd_count),
+ sizeof(long),
+ GFP_KERNEL);
}
kfree(cmd);
--
2.12.2
[toc] | [prev] | [next] | [standalone]
| From | Devesh Sharma <devesh.sharma@broadcom.com> |
|---|---|
| Date | 2017-04-24 18:30 +0200 |
| Subject | Re: [PATCH v2 01/12] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() |
| Message-ID | <tzP2a-Rd-11@gated-at.bofh.it> |
| In reply to | #1628844 |
Acked-By: Devesh Sharma <devesh.sharma@broadcom.com>
On Sat, Apr 22, 2017 at 8:00 PM, SF Markus Elfring
<elfring@users.sourceforge.net> wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Sat, 22 Apr 2017 11:33:25 +0200
>
> * Multiplications for the size determination of memory allocations
> indicated that array data structures should be processed.
> Thus reuse the corresponding function "kcalloc".
>
> This issue was detected by using the Coccinelle software.
>
> * Delete the local variable "pd_bitmap_size" which became unnecessary
> with this refactoring.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
> drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> index aa6967197620..c868314222b9 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> @@ -1505,7 +1505,6 @@ int ocrdma_mbx_dealloc_pd(struct ocrdma_dev *dev, struct ocrdma_pd *pd)
> static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev)
> {
> int status = -ENOMEM;
> - size_t pd_bitmap_size;
> struct ocrdma_alloc_pd_range *cmd;
> struct ocrdma_alloc_pd_range_rsp *rsp;
>
> @@ -1527,10 +1526,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev)
> dev->pd_mgr->pd_dpp_start = rsp->dpp_page_pdid &
> OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK;
> dev->pd_mgr->max_dpp_pd = rsp->pd_count;
> - pd_bitmap_size =
> - BITS_TO_LONGS(rsp->pd_count) * sizeof(long);
> - dev->pd_mgr->pd_dpp_bitmap = kzalloc(pd_bitmap_size,
> - GFP_KERNEL);
> + dev->pd_mgr->pd_dpp_bitmap
> + = kcalloc(BITS_TO_LONGS(rsp->pd_count),
> + sizeof(long),
> + GFP_KERNEL);
> }
> kfree(cmd);
> }
> @@ -1546,9 +1545,10 @@ static int ocrdma_mbx_alloc_pd_range(struct ocrdma_dev *dev)
> dev->pd_mgr->pd_norm_start = rsp->dpp_page_pdid &
> OCRDMA_ALLOC_PD_RNG_RSP_START_PDID_MASK;
> dev->pd_mgr->max_normal_pd = rsp->pd_count;
> - pd_bitmap_size = BITS_TO_LONGS(rsp->pd_count) * sizeof(long);
> - dev->pd_mgr->pd_norm_bitmap = kzalloc(pd_bitmap_size,
> - GFP_KERNEL);
> + dev->pd_mgr->pd_norm_bitmap
> + = kcalloc(BITS_TO_LONGS(rsp->pd_count),
> + sizeof(long),
> + GFP_KERNEL);
> }
> kfree(cmd);
>
> --
> 2.12.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Doug Ledford <dledford@redhat.com> |
|---|---|
| Date | 2017-04-25 19:10 +0200 |
| Subject | Re: [PATCH v2 01/12] IB/ocrdma: Use kcalloc() in ocrdma_mbx_alloc_pd_range() |
| Message-ID | <tAc8q-7wp-15@gated-at.bofh.it> |
| In reply to | #1629759 |
On Mon, 2017-04-24 at 21:57 +0530, Devesh Sharma wrote: > Acked-By: Devesh Sharma <devesh.sharma@broadcom.com> Devesh, after you have reviewed any of Markus' patches that you care to review, if you wish any of them to go into my tree, please submit them to me yourself. Thanks. -- Doug Ledford <dledford@redhat.com> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:40 +0200 |
| Subject | [PATCH v2 02/12] IB/ocrdma: Use kcalloc() in five functions |
| Message-ID | <tz4mC-41z-5@gated-at.bofh.it> |
| In reply to | #1628843 |
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
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:40 +0200 |
| Subject | [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tz4mC-41z-7@gated-at.bofh.it> |
| In reply to | #1628843 |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 22 Apr 2017 13:26:49 +0200
Replace the specification of data types by pointer dereferences
as the parameter for the operator "sizeof" 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 | 28 ++++++++++++----------------
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 4 ++--
3 files changed, 15 insertions(+), 19 deletions(-)
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index d5a3127b6df8..7e58a74102f6 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -352,7 +352,7 @@ static void *ocrdma_init_emb_mqe(u8 opcode, u32 cmd_len)
{
struct ocrdma_mqe *mqe;
- mqe = kzalloc(sizeof(struct ocrdma_mqe), GFP_KERNEL);
+ mqe = kzalloc(sizeof(*mqe), GFP_KERNEL);
if (!mqe)
return NULL;
mqe->hdr.spcl_sge_cnt_emb |=
@@ -890,7 +890,7 @@ static int ocrdma_mq_cq_handler(struct ocrdma_dev *dev, u16 cq_id)
ocrdma_process_acqe(dev, cqe);
else if (cqe->valid_ae_cmpl_cons & OCRDMA_MCQE_CMPL_MASK)
ocrdma_process_mcqe(dev, cqe);
- memset(cqe, 0, sizeof(struct ocrdma_mcqe));
+ memset(cqe, 0, sizeof(*cqe));
ocrdma_mcq_inc_tail(dev);
}
ocrdma_ring_cq_db(dev, dev->mq.cq.id, true, false, cqe_popped);
@@ -1302,7 +1302,7 @@ int ocrdma_mbx_rdma_stats(struct ocrdma_dev *dev, bool reset)
mqe->u.nonemb_req.sge[0].len = dev->stats_mem.size;
/* Cache the old stats */
- memcpy(old_stats, req, sizeof(struct ocrdma_rdma_stats_resp));
+ memcpy(old_stats, req, sizeof(*old_stats));
memset(req, 0, dev->stats_mem.size);
ocrdma_init_mch((struct ocrdma_mbx_hdr *)req,
@@ -1315,7 +1315,7 @@ int ocrdma_mbx_rdma_stats(struct ocrdma_dev *dev, bool reset)
status = ocrdma_nonemb_mbx_cmd(dev, mqe, dev->stats_mem.va);
if (status)
/* Copy from cache, if mbox fails */
- memcpy(req, old_stats, sizeof(struct ocrdma_rdma_stats_resp));
+ memcpy(req, old_stats, sizeof(*old_stats));
else
ocrdma_le32_to_cpu(req, dev->stats_mem.size);
@@ -1331,7 +1331,7 @@ static int ocrdma_mbx_get_ctrl_attribs(struct ocrdma_dev *dev)
struct ocrdma_get_ctrl_attribs_rsp *ctrl_attr_rsp;
struct mgmt_hba_attribs *hba_attribs;
- mqe = kzalloc(sizeof(struct ocrdma_mqe), GFP_KERNEL);
+ mqe = kzalloc(sizeof(*mqe), GFP_KERNEL);
if (!mqe)
return status;
@@ -1595,8 +1595,7 @@ void ocrdma_alloc_pd_pool(struct ocrdma_dev *dev)
{
int status;
- dev->pd_mgr = kzalloc(sizeof(struct ocrdma_pd_resource_mgr),
- GFP_KERNEL);
+ dev->pd_mgr = kzalloc(sizeof(*dev->pd_mgr), GFP_KERNEL);
if (!dev->pd_mgr)
return;
@@ -2487,7 +2486,7 @@ int ocrdma_mbx_query_qp(struct ocrdma_dev *dev, struct ocrdma_qp *qp,
if (status)
goto mbx_err;
rsp = (struct ocrdma_query_qp_rsp *)cmd;
- memcpy(param, &rsp->params, sizeof(struct ocrdma_qp_params));
+ memcpy(param, &rsp->params, sizeof(*param));
mbx_err:
kfree(cmd);
return status;
@@ -2901,9 +2900,8 @@ static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype,
struct pci_dev *pdev = dev->nic_info.pdev;
struct ocrdma_mqe_sge *mqe_sge = cmd.u.nonemb_req.sge;
- memset(&cmd, 0, sizeof(struct ocrdma_mqe));
- cmd.hdr.pyld_len = max_t (u32, sizeof(struct ocrdma_get_dcbx_cfg_rsp),
- sizeof(struct ocrdma_get_dcbx_cfg_req));
+ memset(&cmd, 0, sizeof(cmd));
+ cmd.hdr.pyld_len = max_t(u32, sizeof(*rsp), sizeof(*req));
req = dma_alloc_coherent(&pdev->dev, cmd.hdr.pyld_len, &pa, GFP_KERNEL);
if (!req) {
status = -ENOMEM;
@@ -2915,8 +2913,7 @@ static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype,
mqe_sge->pa_lo = (u32) (pa & 0xFFFFFFFFUL);
mqe_sge->pa_hi = (u32) upper_32_bits(pa);
mqe_sge->len = cmd.hdr.pyld_len;
-
- memset(req, 0, sizeof(struct ocrdma_get_dcbx_cfg_req));
+ memset(req, 0, sizeof(*req));
ocrdma_init_mch(&req->hdr, OCRDMA_CMD_GET_DCBX_CONFIG,
OCRDMA_SUBSYS_DCBX, cmd.hdr.pyld_len);
req->param_type = ptype;
@@ -2926,9 +2923,8 @@ static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype,
goto mbx_err;
rsp = (struct ocrdma_get_dcbx_cfg_rsp *)req;
- ocrdma_le32_to_cpu(rsp, sizeof(struct ocrdma_get_dcbx_cfg_rsp));
- memcpy(dcbxcfg, &rsp->cfg, sizeof(struct ocrdma_dcbx_cfg));
-
+ ocrdma_le32_to_cpu(rsp, sizeof(*rsp));
+ memcpy(dcbxcfg, &rsp->cfg, sizeof(*dcbxcfg));
mbx_err:
dma_free_coherent(&pdev->dev, cmd.hdr.pyld_len, req, pa);
mem_err:
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index 91705b10f269..e2aa67d6cbb8 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
@@ -303,7 +303,7 @@ static struct ocrdma_dev *ocrdma_add(struct be_dev_info *dev_info)
u8 lstate = 0;
struct ocrdma_dev *dev;
- dev = (struct ocrdma_dev *)ib_alloc_device(sizeof(struct ocrdma_dev));
+ dev = (struct ocrdma_dev *)ib_alloc_device(sizeof(*dev));
if (!dev) {
pr_err("Unable to allocate ib device\n");
return NULL;
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index 146601c97158..f12d1d458f28 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -1914,7 +1914,7 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd,
if (srq->idx_bit_fields == NULL)
goto arm_err;
memset(srq->idx_bit_fields, 0xff,
- srq->bit_fields_len * sizeof(u32));
+ srq->bit_fields_len * sizeof(*srq->idx_bit_fields));
}
if (init_attr->attr.srq_limit) {
@@ -3029,7 +3029,7 @@ struct ib_mr *ocrdma_alloc_mr(struct ib_pd *ibpd,
if (!mr)
return ERR_PTR(-ENOMEM);
- mr->pages = kcalloc(max_num_sg, sizeof(u64), GFP_KERNEL);
+ mr->pages = kcalloc(max_num_sg, sizeof(*mr->pages), GFP_KERNEL);
if (!mr->pages) {
status = -ENOMEM;
goto pl_err;
--
2.12.2
[toc] | [prev] | [next] | [standalone]
| From | Leon Romanovsky <leon@kernel.org> |
|---|---|
| Date | 2017-04-23 09:40 +0200 |
| Subject | Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzkhH-5wc-3@gated-at.bofh.it> |
| In reply to | #1628846 |
[Multipart message — attachments visible in raw view] — view raw
On Sat, Apr 22, 2017 at 04:36:19PM +0200, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Sat, 22 Apr 2017 13:26:49 +0200
>
> Replace the specification of data types by pointer dereferences
> as the parameter for the operator "sizeof" 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.
Hi Doug,
I recommend you to be extra cautious with this blind automatic
conversions. It requires inspection that every size before and after
match each other.
I already asked it and would be like to repeat it. Please DON'T take any
patches from Markus, which are related to mlx4/mlx5/rxe without our explicit
review of them.
Thanks
>
> drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 28 ++++++++++++----------------
> drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +-
> drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 4 ++--
> 3 files changed, 15 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> index d5a3127b6df8..7e58a74102f6 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> @@ -352,7 +352,7 @@ static void *ocrdma_init_emb_mqe(u8 opcode, u32 cmd_len)
> {
> struct ocrdma_mqe *mqe;
>
> - mqe = kzalloc(sizeof(struct ocrdma_mqe), GFP_KERNEL);
> + mqe = kzalloc(sizeof(*mqe), GFP_KERNEL);
> if (!mqe)
> return NULL;
> mqe->hdr.spcl_sge_cnt_emb |=
> @@ -890,7 +890,7 @@ static int ocrdma_mq_cq_handler(struct ocrdma_dev *dev, u16 cq_id)
> ocrdma_process_acqe(dev, cqe);
> else if (cqe->valid_ae_cmpl_cons & OCRDMA_MCQE_CMPL_MASK)
> ocrdma_process_mcqe(dev, cqe);
> - memset(cqe, 0, sizeof(struct ocrdma_mcqe));
> + memset(cqe, 0, sizeof(*cqe));
> ocrdma_mcq_inc_tail(dev);
> }
> ocrdma_ring_cq_db(dev, dev->mq.cq.id, true, false, cqe_popped);
> @@ -1302,7 +1302,7 @@ int ocrdma_mbx_rdma_stats(struct ocrdma_dev *dev, bool reset)
> mqe->u.nonemb_req.sge[0].len = dev->stats_mem.size;
>
> /* Cache the old stats */
> - memcpy(old_stats, req, sizeof(struct ocrdma_rdma_stats_resp));
> + memcpy(old_stats, req, sizeof(*old_stats));
> memset(req, 0, dev->stats_mem.size);
>
> ocrdma_init_mch((struct ocrdma_mbx_hdr *)req,
> @@ -1315,7 +1315,7 @@ int ocrdma_mbx_rdma_stats(struct ocrdma_dev *dev, bool reset)
> status = ocrdma_nonemb_mbx_cmd(dev, mqe, dev->stats_mem.va);
> if (status)
> /* Copy from cache, if mbox fails */
> - memcpy(req, old_stats, sizeof(struct ocrdma_rdma_stats_resp));
> + memcpy(req, old_stats, sizeof(*old_stats));
> else
> ocrdma_le32_to_cpu(req, dev->stats_mem.size);
>
> @@ -1331,7 +1331,7 @@ static int ocrdma_mbx_get_ctrl_attribs(struct ocrdma_dev *dev)
> struct ocrdma_get_ctrl_attribs_rsp *ctrl_attr_rsp;
> struct mgmt_hba_attribs *hba_attribs;
>
> - mqe = kzalloc(sizeof(struct ocrdma_mqe), GFP_KERNEL);
> + mqe = kzalloc(sizeof(*mqe), GFP_KERNEL);
> if (!mqe)
> return status;
>
> @@ -1595,8 +1595,7 @@ void ocrdma_alloc_pd_pool(struct ocrdma_dev *dev)
> {
> int status;
>
> - dev->pd_mgr = kzalloc(sizeof(struct ocrdma_pd_resource_mgr),
> - GFP_KERNEL);
> + dev->pd_mgr = kzalloc(sizeof(*dev->pd_mgr), GFP_KERNEL);
> if (!dev->pd_mgr)
> return;
>
> @@ -2487,7 +2486,7 @@ int ocrdma_mbx_query_qp(struct ocrdma_dev *dev, struct ocrdma_qp *qp,
> if (status)
> goto mbx_err;
> rsp = (struct ocrdma_query_qp_rsp *)cmd;
> - memcpy(param, &rsp->params, sizeof(struct ocrdma_qp_params));
> + memcpy(param, &rsp->params, sizeof(*param));
> mbx_err:
> kfree(cmd);
> return status;
> @@ -2901,9 +2900,8 @@ static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype,
> struct pci_dev *pdev = dev->nic_info.pdev;
> struct ocrdma_mqe_sge *mqe_sge = cmd.u.nonemb_req.sge;
>
> - memset(&cmd, 0, sizeof(struct ocrdma_mqe));
> - cmd.hdr.pyld_len = max_t (u32, sizeof(struct ocrdma_get_dcbx_cfg_rsp),
> - sizeof(struct ocrdma_get_dcbx_cfg_req));
> + memset(&cmd, 0, sizeof(cmd));
> + cmd.hdr.pyld_len = max_t(u32, sizeof(*rsp), sizeof(*req));
> req = dma_alloc_coherent(&pdev->dev, cmd.hdr.pyld_len, &pa, GFP_KERNEL);
> if (!req) {
> status = -ENOMEM;
> @@ -2915,8 +2913,7 @@ static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype,
> mqe_sge->pa_lo = (u32) (pa & 0xFFFFFFFFUL);
> mqe_sge->pa_hi = (u32) upper_32_bits(pa);
> mqe_sge->len = cmd.hdr.pyld_len;
> -
> - memset(req, 0, sizeof(struct ocrdma_get_dcbx_cfg_req));
> + memset(req, 0, sizeof(*req));
> ocrdma_init_mch(&req->hdr, OCRDMA_CMD_GET_DCBX_CONFIG,
> OCRDMA_SUBSYS_DCBX, cmd.hdr.pyld_len);
> req->param_type = ptype;
> @@ -2926,9 +2923,8 @@ static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype,
> goto mbx_err;
>
> rsp = (struct ocrdma_get_dcbx_cfg_rsp *)req;
> - ocrdma_le32_to_cpu(rsp, sizeof(struct ocrdma_get_dcbx_cfg_rsp));
> - memcpy(dcbxcfg, &rsp->cfg, sizeof(struct ocrdma_dcbx_cfg));
> -
> + ocrdma_le32_to_cpu(rsp, sizeof(*rsp));
> + memcpy(dcbxcfg, &rsp->cfg, sizeof(*dcbxcfg));
> mbx_err:
> dma_free_coherent(&pdev->dev, cmd.hdr.pyld_len, req, pa);
> mem_err:
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> index 91705b10f269..e2aa67d6cbb8 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> @@ -303,7 +303,7 @@ static struct ocrdma_dev *ocrdma_add(struct be_dev_info *dev_info)
> u8 lstate = 0;
> struct ocrdma_dev *dev;
>
> - dev = (struct ocrdma_dev *)ib_alloc_device(sizeof(struct ocrdma_dev));
> + dev = (struct ocrdma_dev *)ib_alloc_device(sizeof(*dev));
> if (!dev) {
> pr_err("Unable to allocate ib device\n");
> return NULL;
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> index 146601c97158..f12d1d458f28 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> @@ -1914,7 +1914,7 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd,
> if (srq->idx_bit_fields == NULL)
> goto arm_err;
> memset(srq->idx_bit_fields, 0xff,
> - srq->bit_fields_len * sizeof(u32));
> + srq->bit_fields_len * sizeof(*srq->idx_bit_fields));
> }
>
> if (init_attr->attr.srq_limit) {
> @@ -3029,7 +3029,7 @@ struct ib_mr *ocrdma_alloc_mr(struct ib_pd *ibpd,
> if (!mr)
> return ERR_PTR(-ENOMEM);
>
> - mr->pages = kcalloc(max_num_sg, sizeof(u64), GFP_KERNEL);
> + mr->pages = kcalloc(max_num_sg, sizeof(*mr->pages), GFP_KERNEL);
> if (!mr->pages) {
> status = -ENOMEM;
> goto pl_err;
> --
> 2.12.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Dennis Dalessandro <dennis.dalessandro@intel.com> |
|---|---|
| Date | 2017-04-24 15:00 +0200 |
| Subject | Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzLKX-75O-23@gated-at.bofh.it> |
| In reply to | #1628923 |
On 04/23/2017 03:33 AM, Leon Romanovsky wrote: > On Sat, Apr 22, 2017 at 04:36:19PM +0200, SF Markus Elfring wrote: >> From: Markus Elfring <elfring@users.sourceforge.net> >> Date: Sat, 22 Apr 2017 13:26:49 +0200 >> >> Replace the specification of data types by pointer dereferences >> as the parameter for the operator "sizeof" 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. > > Hi Doug, > > I recommend you to be extra cautious with this blind automatic > conversions. It requires inspection that every size before and after > match each other. > > I already asked it and would be like to repeat it. Please DON'T take any > patches from Markus, which are related to mlx4/mlx5/rxe without our explicit > review of them. I agree with Leon here, and these sort of find/replace automagic clean-up patches make me nervous sometimes. Markus, what have you done to ensure your patches don't break anything? -Denny
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-24 15:30 +0200 |
| Subject | Re: IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzMdY-7wX-13@gated-at.bofh.it> |
| In reply to | #1629511 |
> Markus, what have you done to ensure your patches don't break anything? I would expect that this update step will not change the run time behaviour for the OCRDMA module. I guess that it will influence the run time characteristics for compilation of three adjusted source files besides the proposed coding style improvements. Further update steps change other source code places. I hope that their impact can be clarified according to your expectations for each shown update possibility separately. Some of them got a bit of acceptance already. How would you like to reduce any remaining software development concerns here? Regards, Markus
[toc] | [prev] | [next] | [standalone]
| From | Leon Romanovsky <leon@kernel.org> |
|---|---|
| Date | 2017-04-24 16:40 +0200 |
| Subject | Re: IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzNjH-8an-9@gated-at.bofh.it> |
| In reply to | #1629548 |
[Multipart message — attachments visible in raw view] — view raw
On Mon, Apr 24, 2017 at 03:23:52PM +0200, SF Markus Elfring wrote: > > Markus, what have you done to ensure your patches don't break anything? > > I would expect that this update step will not change the run time behaviour > for the OCRDMA module. I guess that it will influence the run time > characteristics for compilation of three adjusted source files besides > the proposed coding style improvements. > > Further update steps change other source code places. I hope that their > impact can be clarified according to your expectations for each shown update > possibility separately. Some of them got a bit of acceptance already. > > How would you like to reduce any remaining software development concerns here? > Dennis, He didn't check it, this is why in most susbsystems his patches are ignored. Thanks > Regards, > Markus
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-24 17:00 +0200 |
| Subject | Re: IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzND3-8gU-9@gated-at.bofh.it> |
| In reply to | #1629645 |
> He didn't check it, this is why in most susbsystems his patches are ignored. I assume that it does only partly matter how much I could check such an update suggestion when you would generally prefer to exclude some special change possibilities. It can eventually happen a bit more software evolution, can't it there? Regards, Markus
[toc] | [prev] | [next] | [standalone]
| From | Doug Ledford <dledford@redhat.com> |
|---|---|
| Date | 2017-04-24 18:40 +0200 |
| Subject | Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzPbQ-Ue-19@gated-at.bofh.it> |
| In reply to | #1629511 |
On Mon, 2017-04-24 at 08:54 -0400, Dennis Dalessandro wrote: > On 04/23/2017 03:33 AM, Leon Romanovsky wrote: > > > > On Sat, Apr 22, 2017 at 04:36:19PM +0200, SF Markus Elfring wrote: > > > > > > From: Markus Elfring <elfring@users.sourceforge.net> > > > Date: Sat, 22 Apr 2017 13:26:49 +0200 > > > > > > Replace the specification of data types by pointer dereferences > > > as the parameter for the operator "sizeof" 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. > > > > Hi Doug, > > > > I recommend you to be extra cautious with this blind automatic > > conversions. It requires inspection that every size before and > > after > > match each other. > > > > I already asked it and would be like to repeat it. Please DON'T > > take any > > patches from Markus, which are related to mlx4/mlx5/rxe without our > > explicit > > review of them. > > I agree with Leon here, and these sort of find/replace automagic > clean-up patches make me nervous sometimes. OK, the easiest way to make sure that only the things you want from his patches get through is to have you pull them into a branch and submit them yourself. I'll only take the ones you submit to me, that way there is no confusion about whether or not you have checked them and approved them. > Markus, what have you done to ensure your patches don't break > anything? > > -Denny > -- Doug Ledford <dledford@redhat.com> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
[toc] | [prev] | [next] | [standalone]
| From | Leon Romanovsky <leon@kernel.org> |
|---|---|
| Date | 2017-04-24 20:10 +0200 |
| Subject | Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzQAW-1Uk-9@gated-at.bofh.it> |
| In reply to | #1629772 |
[Multipart message — attachments visible in raw view] — view raw
On Mon, Apr 24, 2017 at 12:38:58PM -0400, Doug Ledford wrote: > On Mon, 2017-04-24 at 08:54 -0400, Dennis Dalessandro wrote: > > On 04/23/2017 03:33 AM, Leon Romanovsky wrote: > > > > > > On Sat, Apr 22, 2017 at 04:36:19PM +0200, SF Markus Elfring wrote: > > > > > > > > From: Markus Elfring <elfring@users.sourceforge.net> > > > > Date: Sat, 22 Apr 2017 13:26:49 +0200 > > > > > > > > Replace the specification of data types by pointer dereferences > > > > as the parameter for the operator "sizeof" 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. > > > > > > Hi Doug, > > > > > > I recommend you to be extra cautious with this blind automatic > > > conversions. It requires inspection that every size before and > > > after > > > match each other. > > > > > > I already asked it and would be like to repeat it. Please DON'T > > > take any > > > patches from Markus, which are related to mlx4/mlx5/rxe without our > > > explicit > > > review of them. > > > > I agree with Leon here, and these sort of find/replace automagic > > clean-up patches make me nervous sometimes. > > OK, the easiest way to make sure that only the things you want from his > patches get through is to have you pull them into a branch and submit > them yourself. I'll only take the ones you submit to me, that way > there is no confusion about whether or not you have checked them and > approved them. Fine to me. Thanks > > > Markus, what have you done to ensure your patches don't break > > anything? > > > > -Denny > > > -- > Doug Ledford <dledford@redhat.com> > GPG KeyID: B826A3330E572FDD > > Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD >
[toc] | [prev] | [next] | [standalone]
| From | Doug Ledford <dledford@redhat.com> |
|---|---|
| Date | 2017-04-24 18:40 +0200 |
| Subject | Re: [PATCH v2 03/12] IB/ocrdma: Improve size determinations in ten functions |
| Message-ID | <tzPbQ-Ue-5@gated-at.bofh.it> |
| In reply to | #1628923 |
On Sun, 2017-04-23 at 10:33 +0300, Leon Romanovsky wrote: > On Sat, Apr 22, 2017 at 04:36:19PM +0200, SF Markus Elfring wrote: > > > > From: Markus Elfring <elfring@users.sourceforge.net> > > Date: Sat, 22 Apr 2017 13:26:49 +0200 > > > > Replace the specification of data types by pointer dereferences > > as the parameter for the operator "sizeof" 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. > > Hi Doug, > > I recommend you to be extra cautious with this blind automatic > conversions. It requires inspection that every size before and after > match each other. > > I already asked it and would be like to repeat it. Please DON'T take > any > patches from Markus, which are related to mlx4/mlx5/rxe without our > explicit > review of them. OK, the easiest way to make sure that only the things you want from his patches get through is to have you pull them into a branch and submit them yourself. I'll only take the ones you submit to me, that way there is no confusion about whether or not you have checked them and approved them. -- Doug Ledford <dledford@redhat.com> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:50 +0200 |
| Subject | [PATCH v2 07/12] IB/ocrdma: Adjust 21 checks for null pointers |
| Message-ID | <tz4wh-44M-3@gated-at.bofh.it> |
| In reply to | #1628843 |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 22 Apr 2017 14:20:37 +0200
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The script “checkpatch.pl” pointed information out like the following.
Comparison to NULL could be written !…
Thus fix affected source code places.
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 | 20 ++++++++++----------
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 20 ++++++++++----------
3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index d5b988b011d1..8c7f0b108a7f 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -665,7 +665,7 @@ static void ocrdma_process_qpcat_error(struct ocrdma_dev *dev,
enum ib_qp_state new_ib_qps = IB_QPS_ERR;
enum ib_qp_state old_ib_qps;
- if (qp == NULL)
+ if (!qp)
BUG();
ocrdma_qp_state_change(qp, new_ib_qps, &old_ib_qps);
}
@@ -693,7 +693,7 @@ static void ocrdma_dispatch_ibevent(struct ocrdma_dev *dev,
if (cqe->qpvalid_qpid & OCRDMA_AE_MCQE_QPVALID) {
if (qpid < dev->attr.max_qp)
qp = dev->qp_tbl[qpid];
- if (qp == NULL) {
+ if (!qp) {
pr_err("ocrdma%d:Async event - qpid %u is not valid\n",
dev->id, qpid);
return;
@@ -703,7 +703,7 @@ static void ocrdma_dispatch_ibevent(struct ocrdma_dev *dev,
if (cqe->cqvalid_cqid & OCRDMA_AE_MCQE_CQVALID) {
if (cqid < dev->attr.max_cq)
cq = dev->cq_tbl[cqid];
- if (cq == NULL) {
+ if (!cq) {
pr_err("ocrdma%d:Async event - cqid %u is not valid\n",
dev->id, cqid);
return;
@@ -882,7 +882,7 @@ static int ocrdma_mq_cq_handler(struct ocrdma_dev *dev, u16 cq_id)
while (1) {
cqe = ocrdma_get_mcqe(dev);
- if (cqe == NULL)
+ if (!cqe)
break;
ocrdma_le32_to_cpu(cqe, sizeof(*cqe));
cqe_popped += 1;
@@ -948,7 +948,7 @@ static void ocrdma_qp_buddy_cq_handler(struct ocrdma_dev *dev,
* false - Check for RQ CQ
*/
bcq = _ocrdma_qp_buddy_cq_handler(dev, cq, true);
- if (bcq == NULL)
+ if (!bcq)
bcq = _ocrdma_qp_buddy_cq_handler(dev, cq, false);
spin_unlock_irqrestore(&dev->flush_q_lock, flags);
@@ -969,7 +969,7 @@ static void ocrdma_qp_cq_handler(struct ocrdma_dev *dev, u16 cq_idx)
BUG();
cq = dev->cq_tbl[cq_idx];
- if (cq == NULL)
+ if (!cq)
return;
if (cq->ibcq.comp_handler) {
@@ -1289,7 +1289,7 @@ int ocrdma_mbx_rdma_stats(struct ocrdma_dev *dev, bool reset)
int status;
old_stats = kmalloc(sizeof(*old_stats), GFP_KERNEL);
- if (old_stats == NULL)
+ if (!old_stats)
return -ENOMEM;
memset(mqe, 0, sizeof(*mqe));
@@ -1676,12 +1676,12 @@ static int ocrdma_mbx_create_ah_tbl(struct ocrdma_dev *dev)
dev->av_tbl.pbl.va = dma_alloc_coherent(&pdev->dev, PAGE_SIZE,
&dev->av_tbl.pbl.pa,
GFP_KERNEL);
- if (dev->av_tbl.pbl.va == NULL)
+ if (!dev->av_tbl.pbl.va)
goto mem_err;
dev->av_tbl.va = dma_alloc_coherent(&pdev->dev, dev->av_tbl.size,
&pa, GFP_KERNEL);
- if (dev->av_tbl.va == NULL)
+ if (!dev->av_tbl.va)
goto mem_err_ah;
dev->av_tbl.pa = pa;
dev->av_tbl.num_ah = max_ah;
@@ -1722,7 +1722,7 @@ static void ocrdma_mbx_delete_ah_tbl(struct ocrdma_dev *dev)
struct ocrdma_delete_ah_tbl *cmd;
struct pci_dev *pdev = dev->nic_info.pdev;
- if (dev->av_tbl.va == NULL)
+ if (!dev->av_tbl.va)
return;
cmd = ocrdma_init_emb_mqe(OCRDMA_CMD_DELETE_AH_TBL, sizeof(*cmd));
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index e2aa67d6cbb8..b82f6c6942e0 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
@@ -238,7 +238,7 @@ static int ocrdma_alloc_resources(struct ocrdma_dev *dev)
dev->stag_arr = kcalloc(OCRDMA_MAX_STAG, sizeof(*dev->stag_arr),
GFP_KERNEL);
- if (dev->stag_arr == NULL)
+ if (!dev->stag_arr)
goto alloc_err;
ocrdma_alloc_pd_pool(dev);
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index 5eaf946aeac6..c804889db7e1 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -267,7 +267,7 @@ static int ocrdma_add_mmap(struct ocrdma_ucontext *uctx, u64 phy_addr,
struct ocrdma_mm *mm;
mm = kzalloc(sizeof(*mm), GFP_KERNEL);
- if (mm == NULL)
+ if (!mm)
return -ENOMEM;
mm->key.phy_addr = phy_addr;
mm->key.len = len;
@@ -1194,7 +1194,7 @@ static int ocrdma_add_qpn_map(struct ocrdma_dev *dev, struct ocrdma_qp *qp)
{
int status = -EINVAL;
- if (qp->id < OCRDMA_MAX_QP && dev->qp_tbl[qp->id] == NULL) {
+ if (qp->id < OCRDMA_MAX_QP && !dev->qp_tbl[qp->id]) {
dev->qp_tbl[qp->id] = qp;
status = 0;
}
@@ -1362,11 +1362,11 @@ static int ocrdma_alloc_wr_id_tbl(struct ocrdma_qp *qp)
{
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)
+ if (!qp->wqe_wr_id_tbl)
return -ENOMEM;
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)
+ if (!qp->rqe_wr_id_tbl)
return -ENOMEM;
return 0;
@@ -1426,7 +1426,7 @@ struct ib_qp *ocrdma_create_qp(struct ib_pd *ibpd,
goto gen_err;
}
ocrdma_set_qp_init_params(qp, pd, attrs);
- if (udata == NULL)
+ if (!udata)
qp->cap_flags |= (OCRDMA_QP_MW_BIND | OCRDMA_QP_LKEY0 |
OCRDMA_QP_FAST_REG);
@@ -1438,7 +1438,7 @@ struct ib_qp *ocrdma_create_qp(struct ib_pd *ibpd,
goto mbx_err;
/* user space QP's wr_id table are managed in library */
- if (udata == NULL) {
+ if (!udata) {
status = ocrdma_alloc_wr_id_tbl(qp);
if (status)
goto map_err;
@@ -1899,11 +1899,11 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd,
if (status)
goto err;
- if (udata == NULL) {
+ if (!udata) {
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)
+ if (!srq->rqe_wr_id_tbl)
goto arm_err;
srq->bit_fields_len = (srq->rq.max_cnt / 32) +
@@ -1911,7 +1911,7 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd,
srq->idx_bit_fields = kmalloc_array(srq->bit_fields_len,
sizeof(*srq->idx_bit_fields),
GFP_KERNEL);
- if (srq->idx_bit_fields == NULL)
+ if (!srq->idx_bit_fields)
goto arm_err;
memset(srq->idx_bit_fields, 0xff,
srq->bit_fields_len * sizeof(*srq->idx_bit_fields));
@@ -2885,7 +2885,7 @@ static int ocrdma_poll_hwcq(struct ocrdma_cq *cq, int num_entries,
if (qpn == 0)
goto skip_cqe;
qp = dev->qp_tbl[qpn];
- BUG_ON(qp == NULL);
+ BUG_ON(!qp);
expand = is_cqe_for_sq(cqe)
? ocrdma_poll_scqe(qp, cqe, ibwc, &polled, &stop)
--
2.12.2
[toc] | [prev] | [next] | [standalone]
| From | Leon Romanovsky <leon@kernel.org> |
|---|---|
| Date | 2017-04-23 08:10 +0200 |
| Subject | Re: [PATCH v2 07/12] IB/ocrdma: Adjust 21 checks for null pointers |
| Message-ID | <tziSD-4I0-21@gated-at.bofh.it> |
| In reply to | #1628848 |
[Multipart message — attachments visible in raw view] — view raw
On Sat, Apr 22, 2017 at 04:47:19PM +0200, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Sat, 22 Apr 2017 14:20:37 +0200
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> The script “checkpatch.pl” pointed information out like the following.
>
> Comparison to NULL could be written !…
>
> Thus fix affected source code places.
>
> 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 | 20 ++++++++++----------
> drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +-
> drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 20 ++++++++++----------
> 3 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> index d5b988b011d1..8c7f0b108a7f 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> @@ -665,7 +665,7 @@ static void ocrdma_process_qpcat_error(struct ocrdma_dev *dev,
> enum ib_qp_state new_ib_qps = IB_QPS_ERR;
> enum ib_qp_state old_ib_qps;
>
> - if (qp == NULL)
> + if (!qp)
> BUG();
There is a need to get rid of BUG() in driver code.
> ocrdma_qp_state_change(qp, new_ib_qps, &old_ib_qps);
> }
> @@ -693,7 +693,7 @@ static void ocrdma_dispatch_ibevent(struct ocrdma_dev *dev,
> if (cqe->qpvalid_qpid & OCRDMA_AE_MCQE_QPVALID) {
> if (qpid < dev->attr.max_qp)
> qp = dev->qp_tbl[qpid];
> - if (qp == NULL) {
> + if (!qp) {
> pr_err("ocrdma%d:Async event - qpid %u is not valid\n",
> dev->id, qpid);
> return;
> @@ -703,7 +703,7 @@ static void ocrdma_dispatch_ibevent(struct ocrdma_dev *dev,
> if (cqe->cqvalid_cqid & OCRDMA_AE_MCQE_CQVALID) {
> if (cqid < dev->attr.max_cq)
> cq = dev->cq_tbl[cqid];
> - if (cq == NULL) {
> + if (!cq) {
> pr_err("ocrdma%d:Async event - cqid %u is not valid\n",
> dev->id, cqid);
> return;
> @@ -882,7 +882,7 @@ static int ocrdma_mq_cq_handler(struct ocrdma_dev *dev, u16 cq_id)
>
> while (1) {
> cqe = ocrdma_get_mcqe(dev);
> - if (cqe == NULL)
> + if (!cqe)
> break;
> ocrdma_le32_to_cpu(cqe, sizeof(*cqe));
> cqe_popped += 1;
> @@ -948,7 +948,7 @@ static void ocrdma_qp_buddy_cq_handler(struct ocrdma_dev *dev,
> * false - Check for RQ CQ
> */
> bcq = _ocrdma_qp_buddy_cq_handler(dev, cq, true);
> - if (bcq == NULL)
> + if (!bcq)
> bcq = _ocrdma_qp_buddy_cq_handler(dev, cq, false);
> spin_unlock_irqrestore(&dev->flush_q_lock, flags);
>
> @@ -969,7 +969,7 @@ static void ocrdma_qp_cq_handler(struct ocrdma_dev *dev, u16 cq_idx)
> BUG();
>
> cq = dev->cq_tbl[cq_idx];
> - if (cq == NULL)
> + if (!cq)
> return;
>
> if (cq->ibcq.comp_handler) {
> @@ -1289,7 +1289,7 @@ int ocrdma_mbx_rdma_stats(struct ocrdma_dev *dev, bool reset)
> int status;
>
> old_stats = kmalloc(sizeof(*old_stats), GFP_KERNEL);
> - if (old_stats == NULL)
> + if (!old_stats)
> return -ENOMEM;
>
> memset(mqe, 0, sizeof(*mqe));
> @@ -1676,12 +1676,12 @@ static int ocrdma_mbx_create_ah_tbl(struct ocrdma_dev *dev)
> dev->av_tbl.pbl.va = dma_alloc_coherent(&pdev->dev, PAGE_SIZE,
> &dev->av_tbl.pbl.pa,
> GFP_KERNEL);
> - if (dev->av_tbl.pbl.va == NULL)
> + if (!dev->av_tbl.pbl.va)
> goto mem_err;
>
> dev->av_tbl.va = dma_alloc_coherent(&pdev->dev, dev->av_tbl.size,
> &pa, GFP_KERNEL);
> - if (dev->av_tbl.va == NULL)
> + if (!dev->av_tbl.va)
> goto mem_err_ah;
> dev->av_tbl.pa = pa;
> dev->av_tbl.num_ah = max_ah;
> @@ -1722,7 +1722,7 @@ static void ocrdma_mbx_delete_ah_tbl(struct ocrdma_dev *dev)
> struct ocrdma_delete_ah_tbl *cmd;
> struct pci_dev *pdev = dev->nic_info.pdev;
>
> - if (dev->av_tbl.va == NULL)
> + if (!dev->av_tbl.va)
> return;
>
> cmd = ocrdma_init_emb_mqe(OCRDMA_CMD_DELETE_AH_TBL, sizeof(*cmd));
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> index e2aa67d6cbb8..b82f6c6942e0 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
> @@ -238,7 +238,7 @@ static int ocrdma_alloc_resources(struct ocrdma_dev *dev)
>
> dev->stag_arr = kcalloc(OCRDMA_MAX_STAG, sizeof(*dev->stag_arr),
> GFP_KERNEL);
> - if (dev->stag_arr == NULL)
> + if (!dev->stag_arr)
> goto alloc_err;
>
> ocrdma_alloc_pd_pool(dev);
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> index 5eaf946aeac6..c804889db7e1 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> @@ -267,7 +267,7 @@ static int ocrdma_add_mmap(struct ocrdma_ucontext *uctx, u64 phy_addr,
> struct ocrdma_mm *mm;
>
> mm = kzalloc(sizeof(*mm), GFP_KERNEL);
> - if (mm == NULL)
> + if (!mm)
> return -ENOMEM;
> mm->key.phy_addr = phy_addr;
> mm->key.len = len;
> @@ -1194,7 +1194,7 @@ static int ocrdma_add_qpn_map(struct ocrdma_dev *dev, struct ocrdma_qp *qp)
> {
> int status = -EINVAL;
>
> - if (qp->id < OCRDMA_MAX_QP && dev->qp_tbl[qp->id] == NULL) {
> + if (qp->id < OCRDMA_MAX_QP && !dev->qp_tbl[qp->id]) {
> dev->qp_tbl[qp->id] = qp;
> status = 0;
> }
> @@ -1362,11 +1362,11 @@ static int ocrdma_alloc_wr_id_tbl(struct ocrdma_qp *qp)
> {
> 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)
> + if (!qp->wqe_wr_id_tbl)
> return -ENOMEM;
> 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)
> + if (!qp->rqe_wr_id_tbl)
> return -ENOMEM;
Memory leak here, need to free qp->wqe_wr_id_tb here.
>
> return 0;
> @@ -1426,7 +1426,7 @@ struct ib_qp *ocrdma_create_qp(struct ib_pd *ibpd,
> goto gen_err;
> }
> ocrdma_set_qp_init_params(qp, pd, attrs);
> - if (udata == NULL)
> + if (!udata)
> qp->cap_flags |= (OCRDMA_QP_MW_BIND | OCRDMA_QP_LKEY0 |
> OCRDMA_QP_FAST_REG);
>
> @@ -1438,7 +1438,7 @@ struct ib_qp *ocrdma_create_qp(struct ib_pd *ibpd,
> goto mbx_err;
>
> /* user space QP's wr_id table are managed in library */
> - if (udata == NULL) {
> + if (!udata) {
> status = ocrdma_alloc_wr_id_tbl(qp);
> if (status)
> goto map_err;
> @@ -1899,11 +1899,11 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd,
> if (status)
> goto err;
>
> - if (udata == NULL) {
> + if (!udata) {
> 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)
> + if (!srq->rqe_wr_id_tbl)
> goto arm_err;
>
> srq->bit_fields_len = (srq->rq.max_cnt / 32) +
> @@ -1911,7 +1911,7 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd,
> srq->idx_bit_fields = kmalloc_array(srq->bit_fields_len,
> sizeof(*srq->idx_bit_fields),
> GFP_KERNEL);
> - if (srq->idx_bit_fields == NULL)
> + if (!srq->idx_bit_fields)
> goto arm_err;
> memset(srq->idx_bit_fields, 0xff,
> srq->bit_fields_len * sizeof(*srq->idx_bit_fields));
> @@ -2885,7 +2885,7 @@ static int ocrdma_poll_hwcq(struct ocrdma_cq *cq, int num_entries,
> if (qpn == 0)
> goto skip_cqe;
> qp = dev->qp_tbl[qpn];
> - BUG_ON(qp == NULL);
> + BUG_ON(!qp);
Again, bug in driver can crash whole system. There is a need to get rid
of it.
>
> expand = is_cqe_for_sq(cqe)
> ? ocrdma_poll_scqe(qp, cqe, ibwc, &polled, &stop)
> --
> 2.12.2
>
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:50 +0200 |
| Subject | [PATCH v2 04/12] IB/ocrdma: Delete unnecessary variable initialisations in ocrdma_mbx_get_dcbx_config() |
| Message-ID | <tz4wi-44M-7@gated-at.bofh.it> |
| In reply to | #1628843 |
From: Markus Elfring <elfring@users.sourceforge.net> Date: Sat, 22 Apr 2017 13:38:33 +0200 The local variables "req" and "rsp" will be set to appropriate pointers a bit later. Thus omit the explicit initialisations at the beginning. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> --- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c index 7e58a74102f6..aa32bc9f323d 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c @@ -2894,9 +2894,8 @@ static int ocrdma_mbx_get_dcbx_config(struct ocrdma_dev *dev, u32 ptype, int status; dma_addr_t pa; struct ocrdma_mqe cmd; - - struct ocrdma_get_dcbx_cfg_req *req = NULL; - struct ocrdma_get_dcbx_cfg_rsp *rsp = NULL; + struct ocrdma_get_dcbx_cfg_req *req; + struct ocrdma_get_dcbx_cfg_rsp *rsp; struct pci_dev *pdev = dev->nic_info.pdev; struct ocrdma_mqe_sge *mqe_sge = cmd.u.nonemb_req.sge; -- 2.12.2
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:50 +0200 |
| Subject | [PATCH v2 08/12] IB/ocrdma: Delete an error message for a failed memory allocation in ocrdma_add() |
| Message-ID | <tz4wi-44M-9@gated-at.bofh.it> |
| In reply to | #1628843 |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 22 Apr 2017 14:36:30 +0200
Omit an extra message for a memory allocation failure in this function.
Link: http://events.linuxfoundation.org/sites/events/files/slides/LCJ16-Refactor_Strings-WSang_0.pdf
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Acked-by: Devesh Sharma <devesh.sharma@broadcom.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
---
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index b82f6c6942e0..d3942558b083 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
@@ -304,10 +304,9 @@ static struct ocrdma_dev *ocrdma_add(struct be_dev_info *dev_info)
struct ocrdma_dev *dev;
dev = (struct ocrdma_dev *)ib_alloc_device(sizeof(*dev));
- if (!dev) {
- pr_err("Unable to allocate ib device\n");
+ if (!dev)
return NULL;
- }
+
dev->mbx_cmd = kzalloc(sizeof(struct ocrdma_mqe_emb_cmd), GFP_KERNEL);
if (!dev->mbx_cmd)
goto idr_err;
--
2.12.2
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:50 +0200 |
| Subject | [PATCH v2 06/12] IB/ocrdma: Use kmalloc_array() in ocrdma_create_srq() |
| Message-ID | <tz4wi-44M-15@gated-at.bofh.it> |
| In reply to | #1628843 |
From: Markus Elfring <elfring@users.sourceforge.net> Date: Sat, 22 Apr 2017 14:17:46 +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 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> --- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c index 16f14d4c3e85..5eaf946aeac6 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c @@ -1908,8 +1908,9 @@ struct ib_srq *ocrdma_create_srq(struct ib_pd *ibpd, srq->bit_fields_len = (srq->rq.max_cnt / 32) + (srq->rq.max_cnt % 32 ? 1 : 0); - srq->idx_bit_fields = - kmalloc(srq->bit_fields_len * sizeof(u32), GFP_KERNEL); + srq->idx_bit_fields = kmalloc_array(srq->bit_fields_len, + sizeof(*srq->idx_bit_fields), + GFP_KERNEL); if (srq->idx_bit_fields == NULL) goto arm_err; memset(srq->idx_bit_fields, 0xff, -- 2.12.2
[toc] | [prev] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2017-04-22 16:50 +0200 |
| Subject | [PATCH v2 05/12] IB/ocrdma: Delete unnecessary braces |
| Message-ID | <tz4wj-44M-23@gated-at.bofh.it> |
| In reply to | #1628843 |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 22 Apr 2017 13:54:28 +0200
Do not use curly brackets at some source code places
where a single statement should be sufficient.
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 | 17 ++++++------
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 41 +++++++++++------------------
2 files changed, 24 insertions(+), 34 deletions(-)
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index aa32bc9f323d..d5b988b011d1 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -1092,14 +1092,14 @@ static int ocrdma_mbx_cmd(struct ocrdma_dev *dev, struct ocrdma_mqe *mqe)
if (cqe_status || ext_status) {
pr_err("%s() cqe_status=0x%x, ext_status=0x%x,",
__func__, cqe_status, ext_status);
- if (rsp) {
+ if (rsp)
/* This is for embedded cmds. */
pr_err("opcode=0x%x, subsystem=0x%x\n",
(rsp->subsys_op & OCRDMA_MBX_RSP_OPCODE_MASK) >>
OCRDMA_MBX_RSP_OPCODE_SHIFT,
(rsp->subsys_op & OCRDMA_MBX_RSP_SUBSYS_MASK) >>
OCRDMA_MBX_RSP_SUBSYS_SHIFT);
- }
+
status = ocrdma_get_mbx_cqe_errno(cqe_status);
goto mbx_err;
}
@@ -1600,10 +1600,9 @@ void ocrdma_alloc_pd_pool(struct ocrdma_dev *dev)
return;
status = ocrdma_mbx_alloc_pd_range(dev);
- if (status) {
+ if (status)
pr_err("%s(%d) Unable to initialize PD pool, using default.\n",
__func__, dev->id);
- }
}
static void ocrdma_free_pd_pool(struct ocrdma_dev *dev)
@@ -2997,11 +2996,10 @@ static int ocrdma_parse_dcbxcfg_rsp(struct ocrdma_dev *dev, int ptype,
goto out;
}
}
- if (slindx == OCRDMA_MAX_SERVICE_LEVEL_INDEX) {
+ if (slindx == OCRDMA_MAX_SERVICE_LEVEL_INDEX)
pr_info("%s ocrdma%d application priority not set for 0x%x protocol\n",
dev_name(&dev->nic_info.pdev->dev),
dev->id, proto);
- }
}
}
@@ -3158,16 +3156,17 @@ static int ocrdma_modify_eqd(struct ocrdma_dev *dev, struct ocrdma_eq *eq,
int num)
{
int num_eqs, i = 0;
- if (num > 8) {
+
+ if (num > 8)
while (num) {
num_eqs = min(num, 8);
ocrdma_mbx_modify_eqd(dev, &eq[i], num_eqs);
i += num_eqs;
num -= num_eqs;
}
- } else {
+ else
ocrdma_mbx_modify_eqd(dev, eq, num);
- }
+
return 0;
}
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index f12d1d458f28..16f14d4c3e85 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -504,10 +504,10 @@ static int ocrdma_dealloc_ucontext_pd(struct ocrdma_ucontext *uctx)
struct ocrdma_pd *pd = uctx->cntxt_pd;
struct ocrdma_dev *dev = get_ocrdma_dev(pd->ibpd.device);
- if (uctx->pd_in_use) {
+ if (uctx->pd_in_use)
pr_err("%s(%d) Freeing in use pdid=0x%x.\n",
__func__, dev->id, pd->id);
- }
+
uctx->cntxt_pd = NULL;
(void)_ocrdma_dealloc_pd(dev, pd);
return 0;
@@ -741,11 +741,10 @@ struct ib_pd *ocrdma_alloc_pd(struct ib_device *ibdev,
return &pd->ibpd;
err:
- if (is_uctx_pd) {
+ if (is_uctx_pd)
ocrdma_release_ucontext_pd(uctx);
- } else {
+ else
status = _ocrdma_dealloc_pd(dev, pd);
- }
exit:
return ERR_PTR(status);
}
@@ -1022,10 +1021,10 @@ int ocrdma_dereg_mr(struct ib_mr *ib_mr)
kfree(mr);
/* Don't stop cleanup, in case FW is unresponsive */
- if (dev->mqe_ctx.fw_error_state) {
+ if (dev->mqe_ctx.fw_error_state)
pr_err("%s(%d) fw not responding.\n",
__func__, dev->id);
- }
+
return 0;
}
@@ -1417,10 +1416,10 @@ struct ib_qp *ocrdma_create_qp(struct ib_pd *ibpd,
goto gen_err;
memset(&ureq, 0, sizeof(ureq));
- if (udata) {
+ if (udata)
if (ib_copy_from_udata(&ureq, udata, sizeof(ureq)))
return ERR_PTR(-EFAULT);
- }
+
qp = kzalloc(sizeof(*qp), GFP_KERNEL);
if (!qp) {
status = -ENOMEM;
@@ -2835,15 +2834,11 @@ static bool ocrdma_poll_rcqe(struct ocrdma_qp *qp, struct ocrdma_cqe *cqe,
bool expand = false;
ibwc->wc_flags = 0;
- if (qp->qp_type == IB_QPT_UD || qp->qp_type == IB_QPT_GSI) {
- status = (le32_to_cpu(cqe->flags_status_srcqpn) &
- OCRDMA_CQE_UD_STATUS_MASK) >>
- OCRDMA_CQE_UD_STATUS_SHIFT;
- } else {
- status = (le32_to_cpu(cqe->flags_status_srcqpn) &
- OCRDMA_CQE_STATUS_MASK) >> OCRDMA_CQE_STATUS_SHIFT;
- }
-
+ status = (qp->qp_type == IB_QPT_UD || qp->qp_type == IB_QPT_GSI)
+ ? ((le32_to_cpu(cqe->flags_status_srcqpn) &
+ OCRDMA_CQE_UD_STATUS_MASK) >> OCRDMA_CQE_UD_STATUS_SHIFT)
+ : ((le32_to_cpu(cqe->flags_status_srcqpn) &
+ OCRDMA_CQE_STATUS_MASK) >> OCRDMA_CQE_STATUS_SHIFT);
if (status == OCRDMA_CQE_SUCCESS) {
*polled = true;
ocrdma_poll_success_rcqe(qp, cqe, ibwc);
@@ -2891,13 +2886,9 @@ static int ocrdma_poll_hwcq(struct ocrdma_cq *cq, int num_entries,
qp = dev->qp_tbl[qpn];
BUG_ON(qp == NULL);
- if (is_cqe_for_sq(cqe)) {
- expand = ocrdma_poll_scqe(qp, cqe, ibwc, &polled,
- &stop);
- } else {
- expand = ocrdma_poll_rcqe(qp, cqe, ibwc, &polled,
- &stop);
- }
+ expand = is_cqe_for_sq(cqe)
+ ? ocrdma_poll_scqe(qp, cqe, ibwc, &polled, &stop)
+ : ocrdma_poll_rcqe(qp, cqe, ibwc, &polled, &stop);
if (expand)
goto expand_cqe;
if (stop)
--
2.12.2
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | linux.kernel
csiph-web