Re: [PATCH 2/9] scsi: qla2xxx: Use zeroing allocator rather than allocator/memset

From: Madhani, Himanshu
Date: Tue Jan 02 2018 - 12:02:06 EST



> On Dec 30, 2017, at 7:28 AM, Himanshu Jha <himanshujha199640@xxxxxxxxx> wrote:
>
> Use dma_zalloc_coherent and vzalloc instead of dma_alloc_coherent and
> vmalloc respectively, followed by memset 0.
>
> Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci
>
> Suggested-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
> Signed-off-by: Himanshu Jha <himanshujha199640@xxxxxxxxx>
> ---
> drivers/scsi/qla2xxx/qla_attr.c | 5 ++---
> drivers/scsi/qla2xxx/qla_bsg.c | 9 +++------
> drivers/scsi/qla2xxx/tcm_qla2xxx.c | 5 +----
> 3 files changed, 6 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
> index 9ce28c4..f46b015 100644
> --- a/drivers/scsi/qla2xxx/qla_attr.c
> +++ b/drivers/scsi/qla2xxx/qla_attr.c
> @@ -1843,14 +1843,13 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost)
> if (qla2x00_reset_active(vha))
> goto done;
>
> - stats = dma_alloc_coherent(&ha->pdev->dev,
> - sizeof(*stats), &stats_dma, GFP_KERNEL);
> + stats = dma_zalloc_coherent(&ha->pdev->dev, sizeof(*stats),
> + &stats_dma, GFP_KERNEL);
> if (!stats) {
> ql_log(ql_log_warn, vha, 0x707d,
> "Failed to allocate memory for stats.\n");
> goto done;
> }
> - memset(stats, 0, sizeof(*stats));
>
> rval = QLA_FUNCTION_FAILED;
> if (IS_FWI2_CAPABLE(ha)) {
> diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
> index e3ac707..e2d5d3c 100644
> --- a/drivers/scsi/qla2xxx/qla_bsg.c
> +++ b/drivers/scsi/qla2xxx/qla_bsg.c
> @@ -1435,7 +1435,7 @@ qla2x00_optrom_setup(struct bsg_job *bsg_job, scsi_qla_host_t *vha,
> ha->optrom_state = QLA_SREADING;
> }
>
> - ha->optrom_buffer = vmalloc(ha->optrom_region_size);
> + ha->optrom_buffer = vzalloc(ha->optrom_region_size);
> if (!ha->optrom_buffer) {
> ql_log(ql_log_warn, vha, 0x7059,
> "Read: Unable to allocate memory for optrom retrieval "
> @@ -1445,7 +1445,6 @@ qla2x00_optrom_setup(struct bsg_job *bsg_job, scsi_qla_host_t *vha,
> return -ENOMEM;
> }
>
> - memset(ha->optrom_buffer, 0, ha->optrom_region_size);
> return 0;
> }
>
> @@ -2314,16 +2313,14 @@ qla2x00_get_priv_stats(struct bsg_job *bsg_job)
> if (!IS_FWI2_CAPABLE(ha))
> return -EPERM;
>
> - stats = dma_alloc_coherent(&ha->pdev->dev,
> - sizeof(*stats), &stats_dma, GFP_KERNEL);
> + stats = dma_zalloc_coherent(&ha->pdev->dev, sizeof(*stats),
> + &stats_dma, GFP_KERNEL);
> if (!stats) {
> ql_log(ql_log_warn, vha, 0x70e2,
> "Failed to allocate memory for stats.\n");
> return -ENOMEM;
> }
>
> - memset(stats, 0, sizeof(*stats));
> -
> rval = qla24xx_get_isp_stats(base_vha, stats, stats_dma, options);
>
> if (rval == QLA_SUCCESS) {
> diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
> index 3f82ea1..aadfeaa 100644
> --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c
> +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
> @@ -1635,16 +1635,13 @@ static int tcm_qla2xxx_init_lport(struct tcm_qla2xxx_lport *lport)
> return rc;
> }
>
> - lport->lport_loopid_map = vmalloc(sizeof(struct tcm_qla2xxx_fc_loopid) *
> - 65536);
> + lport->lport_loopid_map = vzalloc(sizeof(struct tcm_qla2xxx_fc_loopid) * 65536);
> if (!lport->lport_loopid_map) {
> pr_err("Unable to allocate lport->lport_loopid_map of %zu bytes\n",
> sizeof(struct tcm_qla2xxx_fc_loopid) * 65536);
> btree_destroy32(&lport->lport_fcport_map);
> return -ENOMEM;
> }
> - memset(lport->lport_loopid_map, 0, sizeof(struct tcm_qla2xxx_fc_loopid)
> - * 65536);
> pr_debug("qla2xxx: Allocated lport_loopid_map of %zu bytes\n",
> sizeof(struct tcm_qla2xxx_fc_loopid) * 65536);
> return 0;
> --
> 2.7.4
>

Looks good

Acked-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>