From: kbuild test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [PATCH] elx: efct: fix zalloc-simple.cocci warnings
Date: Sun, 12 Apr 2020 15:22:51 +0800 [thread overview]
Message-ID: <20200412072251.GA18807@9dbb232d854f> (raw)
In-Reply-To: <202004121504.E6ItoFUo%lkp@intel.com>
[-- Attachment #1: Type: text/plain, Size: 9911 bytes --]
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 <jsmart2021@gmail.com>
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 <jsmart2021@gmail.com>, Ram Vegesna <ram.vegesna@broadcom.com>
From: kbuild test robot <lkp@intel.com>
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 <jsmart2021@gmail.com>
Signed-off-by: kbuild test robot <lkp@intel.com>
---
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-next
:::::: 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 = kmalloc((hw->config.n_io *
- hw->sli.wqe_size),
- GFP_ATOMIC);
+ hw->wqe_buffs = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL);
+ mbxdata = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL);
+ mbxdata = kzalloc(SLI4_BMBX_SIZE, GFP_KERNEL);
if (!mbxdata)
return EFCT_HW_RTN_NO_MEMORY;
- memset(mbxdata, 0, SLI4_BMBX_SIZE);
-
cb_arg = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ mbxdata = kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
if (!mbxdata)
return EFCT_HW_RTN_NO_MEMORY;
- memset(mbxdata, 0, SLI4_BMBX_SIZE);
-
cb_arg = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ mbxdata = kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
if (!mbxdata)
return EFCT_HW_RTN_NO_MEMORY;
- memset(mbxdata, 0, SLI4_BMBX_SIZE);
-
cb_arg = 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 = kmalloc(sizeof(*ctx), GFP_ATOMIC);
+ ctx = kzalloc(sizeof(*ctx), GFP_ATOMIC);
if (!ctx)
return EFCT_HW_RTN_NO_MEMORY;
- memset(ctx, 0, sizeof(*ctx));
ctx->callback = callback;
ctx->arg = arg;
@@ -3974,14 +3962,13 @@ efct_hw_port_free_unreg_vpi(struct efc_s
/* Allocate memory and send unreg_vpi */
if (!data) {
- data = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ data = 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 = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ cmd = kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
if (!cmd) {
rc = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ buf = kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
if (!buf)
return EFCT_HW_RTN_NO_MEMORY;
- memset(buf, 0, SLI4_BMBX_SIZE);
sport->fc_id = fc_id;
rc = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ cmd = 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 = 112;
domain->dma.virt = dma_alloc_coherent(&efct->pcidev->dev,
@@ -4592,11 +4575,10 @@ efct_hw_domain_attach(struct efc *efc,
return EFCT_HW_RTN_ERROR;
}
- buf = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ buf = kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
if (!buf)
return EFCT_HW_RTN_NO_MEMORY;
- memset(buf, 0, SLI4_BMBX_SIZE);
domain->sport->fc_id = fc_id;
rc = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ buf = 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 = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ buf = kzalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
if (!buf)
return EFCT_HW_RTN_NO_MEMORY;
- memset(buf, 0, SLI4_BMBX_SIZE);
count = atomic_sub_return(1, &hw->rpi_ref[index].rpi_count);
count++;
if (count <= 1) {
@@ -5093,12 +5072,10 @@ efct_hw_node_free_all(struct efct_hw *hw
return EFCT_HW_RTN_ERROR;
}
- buf = kmalloc(SLI4_BMBX_SIZE, GFP_ATOMIC);
+ buf = 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 = 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 = EFCT_HW_RTN_SUCCESS;
/* mbxdata holds the header of the command */
- mbxdata = kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL);
+ mbxdata = 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 = 0;
- mbxdata = kmalloc(SLI4_BMBX_SIZE, GFP_KERNEL);
+ mbxdata = kzalloc(SLI4_BMBX_SIZE, GFP_KERNEL);
if (!mbxdata)
return EFCT_HW_RTN_NO_MEMORY;
- memset(mbxdata, 0, SLI4_BMBX_SIZE);
-
cb_arg = kmalloc(sizeof(*cb_arg), GFP_KERNEL);
if (!cb_arg) {
kfree(mbxdata);
next prev parent reply other threads:[~2020-04-12 7:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-12 7:22 [PATCH v3 31/31] elx: efct: Tie into kernel Kconfig and build process kbuild test robot
2020-04-12 7:22 ` kbuild test robot [this message]
2020-04-12 7:22 ` [PATCH] elx: efct: fix zalloc-simple.cocci warnings kbuild test robot
2020-04-12 7:22 ` kbuild test robot
2020-04-12 7:22 ` kbuild test robot
-- strict thread matches above, loose matches on Subject: below --
2020-04-12 15:33 Julia Lawall
2020-04-12 15:38 Julia Lawall
2020-04-12 15:38 ` Julia Lawall
2020-04-12 15:39 Julia Lawall
2020-04-12 15:39 ` Julia Lawall
2020-04-12 15:40 Julia Lawall
2020-04-12 15:40 ` Julia Lawall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200412072251.GA18807@9dbb232d854f \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.