From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0605680758771300418==" MIME-Version: 1.0 From: kbuild test robot Subject: [PATCH] elx: efct: fix zalloc-simple.cocci warnings Date: Sun, 12 Apr 2020 15:22:51 +0800 Message-ID: <20200412072251.GA18807@9dbb232d854f> In-Reply-To: <202004121504.E6ItoFUo%lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============0605680758771300418== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org In-Reply-To: <20200412033303.29574-32-jsmart2021@gmail.com> References: <20200412033303.29574-32-jsmart2021@gmail.com> TO: James Smart CC: linux-scsi(a)vger.kernel.org CC: dwagner(a)suse.de, maier(a)linux.ibm.com, bvanassche(a)acm.org, herbszt= (a)gmx.de, natechancellor(a)gmail.com, rdunlap(a)infradead.org, hare(a)suse= .de, James Smart , Ram Vegesna From: kbuild test robot drivers/scsi/elx/efct/efct_hw.c:3882:7-14: WARNING: kzalloc should be used = for ctx, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:4509:7-14: WARNING: kzalloc should be used = for cmd, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:4595:7-14: WARNING: kzalloc should be used = for buf, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:5306:11-18: WARNING: kzalloc should be used= for mbxdata, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:3484:11-18: WARNING: kzalloc should be used= for mbxdata, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:3385:11-18: WARNING: kzalloc should be used= for mbxdata, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:5162:11-18: WARNING: kzalloc should be used= for mbxdata, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:3122:11-18: WARNING: kzalloc should be used= for mbxdata, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:3229:11-18: WARNING: kzalloc should be used= for mbxdata, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:4827:7-14: WARNING: kzalloc should be used = for buf, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:5003:8-15: WARNING: kzalloc should be used = for buf, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:5096:7-14: WARNING: kzalloc should be used = for buf, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:4181:8-15: WARNING: kzalloc should be used = for cmd, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:4263:7-14: WARNING: kzalloc should be used = for buf, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:3977:9-16: WARNING: kzalloc should be used = for data, instead of kmalloc/memset drivers/scsi/elx/efct/efct_hw.c:532:18-25: WARNING: kzalloc should be used = for hw -> wqe_buffs, instead of kmalloc/memset Use zeroing allocator rather than allocator followed by memset with 0 This considers some simple cases that are common and easy to validate Note in particular that there are no ...s in the rule, so all of the matched code has to be contiguous Generated by: scripts/coccinelle/api/alloc/zalloc-simple.cocci CC: James Smart Signed-off-by: kbuild test robot --- url: https://github.com/0day-ci/linux/commits/James-Smart/efct-Broadcom-= Emulex-FC-Target-driver/20200412-114125 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-ne= xt :::::: branch date: 4 hours ago :::::: commit date: 4 hours ago efct_hw.c | 61 +++++++++++++++++----------------------------------------= ---- 1 file changed, 17 insertions(+), 44 deletions(-) --- a/drivers/scsi/elx/efct/efct_hw.c +++ b/drivers/scsi/elx/efct/efct_hw.c @@ -529,15 +529,12 @@ efct_hw_setup_io(struct efct_hw *hw) } = /* Create WQE buffs for IO */ - hw->wqe_buffs =3D kmalloc((hw->config.n_io * - hw->sli.wqe_size), - GFP_ATOMIC); + hw->wqe_buffs =3D kzalloc((hw->config.n_io * hw->sli.wqe_size), + GFP_ATOMIC); if (!hw->wqe_buffs) { kfree(hw->io); return EFCT_HW_RTN_NO_MEMORY; } - memset(hw->wqe_buffs, 0, (hw->config.n_io * - hw->sli.wqe_size)); = } else { /* re-use existing IOs, including SGLs */ @@ -3119,11 +3116,9 @@ efct_hw_get_sfp(struct efct_hw *hw, u16 struct efc_dma *dma; = /* mbxdata holds the header of the command */ - mbxdata =3D kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL); + mbxdata =3D kzalloc(SLI4_BMBX_SIZE, GFP_KERNEL); if (!mbxdata) return EFCT_HW_RTN_NO_MEMORY; - - memset(mbxdata, 0, SLI4_BMBX_SIZE); /* * cb_arg holds the data that will be passed to the callback on * completion @@ -3226,12 +3221,10 @@ efct_hw_get_temperature(struct efct_hw * struct efct_hw_temp_cb_arg *cb_arg; u8 *mbxdata; = - mbxdata =3D kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL); + mbxdata =3D kzalloc(SLI4_BMBX_SIZE, GFP_KERNEL); if (!mbxdata) return EFCT_HW_RTN_NO_MEMORY; = - memset(mbxdata, 0, SLI4_BMBX_SIZE); - cb_arg =3D kmalloc(sizeof(*cb_arg), GFP_KERNEL); if (!cb_arg) { kfree(mbxdata); @@ -3382,12 +3375,10 @@ efct_hw_get_link_stats(struct efct_hw *h struct efct_hw_link_stat_cb_arg *cb_arg; u8 *mbxdata; = - mbxdata =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + mbxdata =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!mbxdata) return EFCT_HW_RTN_NO_MEMORY; = - memset(mbxdata, 0, SLI4_BMBX_SIZE); - cb_arg =3D kmalloc(sizeof(*cb_arg), GFP_ATOMIC); if (!cb_arg) { kfree(mbxdata); @@ -3481,12 +3472,10 @@ efct_hw_get_host_stats(struct efct_hw *h struct efct_hw_host_stat_cb_arg *cb_arg; u8 *mbxdata; = - mbxdata =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + mbxdata =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!mbxdata) return EFCT_HW_RTN_NO_MEMORY; = - memset(mbxdata, 0, SLI4_BMBX_SIZE); - cb_arg =3D kmalloc(sizeof(*cb_arg), GFP_ATOMIC); if (!cb_arg) { kfree(mbxdata); @@ -3879,11 +3868,10 @@ efct_hw_async_call(struct efct_hw *hw, * we need this to be persistent as the mbox cmd submission may be * queued and executed later execution. */ - ctx =3D kmalloc(sizeof(*ctx), GFP_ATOMIC); + ctx =3D kzalloc(sizeof(*ctx), GFP_ATOMIC); if (!ctx) return EFCT_HW_RTN_NO_MEMORY; = - memset(ctx, 0, sizeof(*ctx)); ctx->callback =3D callback; ctx->arg =3D arg; = @@ -3974,14 +3962,13 @@ efct_hw_port_free_unreg_vpi(struct efc_s = /* Allocate memory and send unreg_vpi */ if (!data) { - data =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + data =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!data) { efct_hw_port_free_resources(sport, EFC_HW_PORT_FREE_FAIL, data); return; } - memset(data, 0, SLI4_BMBX_SIZE); } = rc =3D sli_cmd_unreg_vpi(&hw->sli, data, SLI4_BMBX_SIZE, @@ -4178,12 +4165,11 @@ efct_hw_port_alloc(struct efc *efc, stru } = if (domain) { - cmd =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + cmd =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!cmd) { rc =3D EFCT_HW_RTN_NO_MEMORY; goto efct_hw_port_alloc_out; } - memset(cmd, 0, SLI4_BMBX_SIZE); = /* * If the WWPN is NULL, fetch the default @@ -4260,11 +4246,10 @@ efct_hw_port_attach(struct efc *efc, str return EFCT_HW_RTN_ERROR; } = - buf =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + buf =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!buf) return EFCT_HW_RTN_NO_MEMORY; = - memset(buf, 0, SLI4_BMBX_SIZE); sport->fc_id =3D fc_id; = rc =3D sli_cmd_reg_vpi(&hw->sli, buf, SLI4_BMBX_SIZE, sport->fc_id, @@ -4506,12 +4491,10 @@ efct_hw_domain_alloc(struct efc *efc, st return EFCT_HW_RTN_ERROR; } = - cmd =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + cmd =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!cmd) return EFCT_HW_RTN_NO_MEMORY; = - memset(cmd, 0, SLI4_BMBX_SIZE); - /* allocate memory for the service parameters */ domain->dma.size =3D 112; domain->dma.virt =3D dma_alloc_coherent(&efct->pcidev->dev, @@ -4592,11 +4575,10 @@ efct_hw_domain_attach(struct efc *efc, return EFCT_HW_RTN_ERROR; } = - buf =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + buf =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!buf) return EFCT_HW_RTN_NO_MEMORY; = - memset(buf, 0, SLI4_BMBX_SIZE); domain->sport->fc_id =3D fc_id; = rc =3D sli_cmd_reg_vfi(&hw->sli, buf, SLI4_BMBX_SIZE, domain->indicator, @@ -4824,11 +4806,9 @@ efct_hw_node_attach(struct efc *efc, str return EFCT_HW_RTN_ERROR; } = - buf =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + buf =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!buf) return EFCT_HW_RTN_NO_MEMORY; - - memset(buf, 0, SLI4_BMBX_SIZE); /* * If the attach count is non-zero, this RPI has already been reg'd. * Otherwise, register the RPI @@ -5000,11 +4980,10 @@ efct_hw_node_detach(struct efc *efc, str if (!rnode->attached) return EFCT_HW_RTN_SUCCESS_SYNC; = - buf =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + buf =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!buf) return EFCT_HW_RTN_NO_MEMORY; = - memset(buf, 0, SLI4_BMBX_SIZE); count =3D atomic_sub_return(1, &hw->rpi_ref[index].rpi_count); count++; if (count <=3D 1) { @@ -5093,12 +5072,10 @@ efct_hw_node_free_all(struct efct_hw *hw return EFCT_HW_RTN_ERROR; } = - buf =3D kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); + buf =3D kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC); if (!buf) return EFCT_HW_RTN_NO_MEMORY; = - memset(buf, 0, SLI4_BMBX_SIZE); - if (!sli_cmd_unreg_rpi(&hw->sli, buf, SLI4_BMBX_SIZE, 0xffff, SLI_RSRC_FCFI, U32_MAX)) rc =3D efct_hw_command(hw, buf, EFCT_CMD_NOWAIT, @@ -5159,12 +5136,10 @@ efct_hw_get_nvparms(struct efct_hw *hw, enum efct_hw_rtn rc =3D EFCT_HW_RTN_SUCCESS; = /* mbxdata holds the header of the command */ - mbxdata =3D kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL); + mbxdata =3D kzalloc(SLI4_BMBX_SIZE, GFP_KERNEL); if (!mbxdata) return EFCT_HW_RTN_NO_MEMORY; = - memset(mbxdata, 0, SLI4_BMBX_SIZE); - /* * cb_arg holds the data that will be passed to the callback on * completion @@ -5303,12 +5278,10 @@ efct_hw_firmware_write_sli4_intf_2(struc struct efct_hw_fw_wr_cb_arg *cb_arg; int noc =3D 0; = - mbxdata =3D kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL); + mbxdata =3D kzalloc(SLI4_BMBX_SIZE, GFP_KERNEL); if (!mbxdata) return EFCT_HW_RTN_NO_MEMORY; = - memset(mbxdata, 0, SLI4_BMBX_SIZE); - cb_arg =3D kmalloc(sizeof(*cb_arg), GFP_KERNEL); if (!cb_arg) { kfree(mbxdata); --===============0605680758771300418==--