qed: fix kzalloc-simple.cocci warnings

Message ID 20170421002007.GA8379@lkp-sbx04
State Rejected
Delegated to: David Miller
Headers show

Commit Message

Fengguang Wu April 21, 2017, 12:20 a.m.
drivers/net/ethernet/qlogic/qed/qed_dcbx.c:1267:13-20: WARNING: kzalloc should be used for dcbx_info, instead of kmalloc/memset


 Use kzalloc rather than kmalloc 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/kzalloc-simple.cocci

CC: sudarsana.kalluru@cavium.com <sudarsana.kalluru@cavium.com>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
---

 qed_dcbx.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

David Miller April 24, 2017, 4:03 p.m. | #1
From: kbuild test robot <fengguang.wu@intel.com>
Date: Fri, 21 Apr 2017 08:20:07 +0800

> drivers/net/ethernet/qlogic/qed/qed_dcbx.c:1267:13-20: WARNING: kzalloc should be used for dcbx_info, instead of kmalloc/memset
> 
> 
>  Use kzalloc rather than kmalloc 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/kzalloc-simple.cocci
> 
> CC: sudarsana.kalluru@cavium.com <sudarsana.kalluru@cavium.com>
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>

I intentionally let this change happen.

It was less risky than asking the submitter who introduced it to
make another respin to keep the kzalloc().

Patch

--- a/drivers/net/ethernet/qlogic/qed/qed_dcbx.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_dcbx.c
@@ -1264,11 +1264,10 @@  static struct qed_dcbx_get *qed_dcbnl_ge
 {
 	struct qed_dcbx_get *dcbx_info;
 
-	dcbx_info = kmalloc(sizeof(*dcbx_info), GFP_ATOMIC);
+	dcbx_info = kzalloc(sizeof(*dcbx_info), GFP_ATOMIC);
 	if (!dcbx_info)
 		return NULL;
 
-	memset(dcbx_info, 0, sizeof(*dcbx_info));
 	if (qed_dcbx_query_params(hwfn, dcbx_info, type)) {
 		kfree(dcbx_info);
 		return NULL;