Message ID | 1514647712-6332-3-git-send-email-himanshujha199640@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
> On Dec 30, 2017, at 7:28 AM, Himanshu Jha <himanshujha199640@gmail.com> 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@kernel.org> > Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com> > --- > 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@cavium.com>
Himanshu, > Use dma_zalloc_coherent and vzalloc instead of dma_alloc_coherent and > vmalloc respectively, followed by memset 0. Applied to 4.16/scsi-queue.
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;
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@kernel.org> Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com> --- 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(-)