Re: [PATCH 03/26] IB/ocrdma: Improve size determinations in ocrdma_mbx_get_dcbx_config()

From: Devesh Sharma
Date: Wed Mar 08 2017 - 09:54:41 EST


Acked-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxx>

On Wed, Mar 8, 2017 at 7:24 PM, Yuval Shaia <yuval.shaia@xxxxxxxxxx> wrote:
> On Wed, Mar 08, 2017 at 01:45:43PM +0100, SF Markus Elfring wrote:
>> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
>> Date: Tue, 7 Mar 2017 19:09:20 +0100
>>
>> Replace the specification of data structures by references for variables
>> 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@xxxxxxxxxxxxxxxxxxxxx>
>> ---
>> drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 13 +++++--------
>> 1 file changed, 5 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
>> index d5a3127b6df8..85bebb887c5c 100644
>> --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
>> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
>> @@ -2901,9 +2901,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 +2914,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 +2924,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:
>
> Reviewed-by: Yuval Shaia <yuval.shaia@xxxxxxxxxx>
>
>> --
>> 2.12.0
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html