From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mga01.intel.com ([192.55.52.88]:38537 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751426AbZGMA4G (ORCPT ); Sun, 12 Jul 2009 20:56:06 -0400 Subject: Re: [PATCH 4/5] drivers/net: Drop unnecessary NULL test From: Zhu Yi To: Julia Lawall Cc: "jketreno@linux.intel.com" , "Chatre, Reinette" , "linux-wireless@vger.kernel.org" , "ipw2100-devel@lists.sourceforge.net" , "linux-kernel@vger.kernel.org" , "kernel-janitors@vger.kernel.org" In-Reply-To: References: Content-Type: text/plain Date: Mon, 13 Jul 2009 08:56:01 +0800 Message-Id: <1247446561.26347.10.camel@debian> Mime-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Mon, 2009-07-13 at 04:05 +0800, Julia Lawall wrote: > From: Julia Lawall > > The result of container_of should not be NULL. In particular, in this case > the argument to the enclosing function has passed though INIT_WORK, which > dereferences it, implying that its container cannot be NULL. > > A simplified version of the semantic patch that makes this change is as > follows: > (http://www.emn.fr/x-info/coccinelle/) > > // > @@ > identifier fn,work,x,fld; > type T; > expression E1,E2; > statement S; > @@ > > static fn(struct work_struct *work) { > ... when != work = E1 > x = container_of(work,T,fld) > ... when != x = E2 > - if (x == NULL) S > ... > } > // > > Signed-off-by: Julia Lawall Acked-by: Zhu Yi Thanks, -yi > --- > drivers/net/wireless/ipw2x00/ipw2200.c | 3 --- > 1 files changed, 0 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c > index d726b3c..2dc1cdb 100644 > --- a/drivers/net/wireless/ipw2x00/ipw2200.c > +++ b/drivers/net/wireless/ipw2x00/ipw2200.c > @@ -7250,9 +7250,6 @@ static void ipw_bg_qos_activate(struct work_struct *work) > struct ipw_priv *priv = > container_of(work, struct ipw_priv, qos_activate); > > - if (priv == NULL) > - return; > - > mutex_lock(&priv->mutex); > > if (priv->status & STATUS_ASSOCIATED)