Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp512400pxb; Wed, 27 Jan 2021 13:29:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJxv1plLxGQ+BaQap+uzZRbsRtHlzRhar7aHmSouZABEqEYgzuJr9MXmVLlWk+4dPZfLMTYw X-Received: by 2002:a17:906:e48:: with SMTP id q8mr8118275eji.478.1611782969243; Wed, 27 Jan 2021 13:29:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611782969; cv=none; d=google.com; s=arc-20160816; b=kJqLker+e0k3CM0cZcHOE3TySjX+IxJLu7PqLTMJDSTqxWDF0mNm2qOS/638evIGyU qpyvKcED6WsEMYxNIlWaMQR7a7vj2rb1HDtiPdYq2aI3W8KY8erkplN6oLq/+9yXagHh cmD5vG2Mcg6SL8YLwKsgefvX2CLYH1ed7+sw3ofZ5RE+tRVGhgpRfVxol/QsmoG2uxDp GUrlOgId2tH0ipUtzTTYkNOu5+tBOlQ+LsTtMFMxvTI1sFiSNsr9UcAerQLvyIK8YjwD pD4q1tr1NzGQSLcWzohpNP2swkjf87GdY9M3NPB5QuUkbsKhfZvGcdTqXVo8TwGG7MJm JoIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=374Mcqdxtgk0Z3LnnnlpdQl4Ae3Vg1nmZ5Jz0vlp8JU=; b=ivmEYeuMlg40ASy9DzUeylTMN3/0cJP/M887x56R0HCgH7VPzR2UoDkwZ5p0n9Ql6u gc56JQLsAT05bZyQ8+xJ0EmudlfowukvQiqJGFmx4/ebq41WP/lUz4ZSWHejU7liVv4p /25n6umK3/LkUpxnywrdOjI3m5Iuw1l77w6bDcUnveATnIPwjCGJdsvxA26MH6B2btfh Wlo8oWonOHL04nLIb6+KhLkCbydFEqvbkxGJ7PpDYTkUbPBORV2qC9c/5nqK8i9Xvspn Tha5CyNmrrCb2GOU1H/2Ih0GdTDgHw9FPkWp9VCIFZxnQslQpAT1JbBUG382l8DLNz/e cXOw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h23si1334400eja.664.2021.01.27.13.29.03; Wed, 27 Jan 2021 13:29:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232193AbhA0Goq (ORCPT + 99 others); Wed, 27 Jan 2021 01:44:46 -0500 Received: from stargate.chelsio.com ([12.32.117.8]:38427 "EHLO stargate.chelsio.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231835AbhA0GgR (ORCPT ); Wed, 27 Jan 2021 01:36:17 -0500 Received: from localhost (kumbhalgarh.blr.asicdesigners.com [10.193.185.255]) by stargate.chelsio.com (8.13.8/8.13.8) with ESMTP id 10R6YRFJ001537; Tue, 26 Jan 2021 22:34:28 -0800 Date: Wed, 27 Jan 2021 12:04:27 +0530 From: Raju Rangoju To: Yang Li Cc: kuba@kernel.org, davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net-next] cxgb4: remove redundant NULL check Message-ID: <20210127063426.GC21071@chelsio.com> References: <1611629413-81373-1-git-send-email-abaci-bugfix@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1611629413-81373-1-git-send-email-abaci-bugfix@linux.alibaba.com> User-Agent: Mutt/1.5.21 (2010-09-15) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tuesday, January 01/26/21, 2021 at 10:50:13 +0800, Yang Li wrote: > Fix below warnings reported by coccicheck: > ./drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c:323:3-9: WARNING: > NULL check before some freeing functions is not needed. > ./drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c:3554:2-8: WARNING: > NULL check before some freeing functions is not needed. > ./drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c:157:2-7: WARNING: > NULL check before some freeing functions is not needed. > ./drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c:525:3-9: WARNING: > NULL check before some freeing functions is not needed. > > Reported-by: Abaci Robot > Signed-off-by: Yang Li > --- > drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c | 3 +-- > drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c | 3 +-- > drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c | 3 +-- > drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c | 6 ++---- > 4 files changed, 5 insertions(+), 10 deletions(-) > > diff --git a/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c b/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c > index ce28820..12fcf84 100644 > --- a/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c > +++ b/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c > @@ -323,8 +323,7 @@ void t4_cleanup_clip_tbl(struct adapter *adap) > struct clip_tbl *ctbl = adap->clipt; > > if (ctbl) { > - if (ctbl->cl_list) > - kvfree(ctbl->cl_list); > + kvfree(ctbl->cl_list); > kvfree(ctbl); > } > } > diff --git a/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c b/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c > index 75474f8..94eb8a6 100644 > --- a/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c > +++ b/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c > @@ -3554,8 +3554,7 @@ int cudbg_collect_qdesc(struct cudbg_init *pdbg_init, > } > > out_free: > - if (data) > - kvfree(data); > + kvfree(data); > > #undef QDESC_GET_FLQ > #undef QDESC_GET_RXQ > diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c > index 77648e4..dd66b24 100644 > --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c > +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.c > @@ -157,8 +157,7 @@ static int cudbg_alloc_compress_buff(struct cudbg_init *pdbg_init) > > static void cudbg_free_compress_buff(struct cudbg_init *pdbg_init) > { > - if (pdbg_init->compress_buff) NAK. The above check is necessary. pdbg_init->compress_buff may be NULL when Zlib is unavailable or when pdbg_init->compress_buff allocation fails, in which case we ignore error and continue without compression. Check is necessary before calling vfree(). > - vfree(pdbg_init->compress_buff); > + vfree(pdbg_init->compress_buff); > } > > int cxgb4_cudbg_collect(struct adapter *adap, void *buf, u32 *buf_size, > diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c > index dede025..97a811f 100644 > --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c > +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c > @@ -525,12 +525,10 @@ struct cxgb4_tc_u32_table *cxgb4_init_tc_u32(struct adapter *adap) > for (i = 0; i < t->size; i++) { > struct cxgb4_link *link = &t->table[i]; > > - if (link->tid_map) > - kvfree(link->tid_map); > + kvfree(link->tid_map); The above change is wrong. NAK. If the call to link->tid_map = kvcalloc() above fails, it still goes ahead and calls kvfree(link->tid_map) even for failed cases, which is wrong. Check is necessary before calling kvfree(). > } > > - if (t) > - kvfree(t); > + kvfree(t); > > return NULL; > } > -- > 1.8.3.1 >