From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 8 Aug 2011 10:47:10 -0700 From: Nishanth Aravamudan To: Julia Lawall Subject: Re: [PATCH 6/9] arch/powerpc/platforms/pseries/iommu.c: add missing kfree Message-ID: <20110808174710.GA3681@us.ibm.com> References: <1312802283-9107-6-git-send-email-julia@diku.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <1312802283-9107-6-git-send-email-julia@diku.dk> Cc: devicetree-discuss@lists.ozlabs.org, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, Milton Miller , Paul Gortmaker , Paul Mackerras , Will Schmidt , linuxppc-dev@lists.ozlabs.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 08.08.2011 [13:18:00 +0200], Julia Lawall wrote: > From: Julia Lawall > > At this point, window has not been stored anywhere, so it has to be freed > before leaving the function. > > A simplified version of the semantic match that finds this problem is as > follows: (http://coccinelle.lip6.fr/) > > // > @exists@ > local idexpression x; > statement S,S1; > expression E; > identifier fl; > expression *ptr != NULL; > @@ > > x = \(kmalloc\|kzalloc\|kcalloc\)(...); > ... > if (x == NULL) S > <... when != x > when != if (...) { <+...kfree(x)...+> } > when any > when != true x == NULL > x->fl > ...> > ( > if (x == NULL) S1 > | > if (...) { ... when != x > when forall > ( > return \(0\|<+...x...+>\|ptr\); > | > * return ...; > ) > } > ) > // > > Signed-off-by: Julia Lawall Acked-by: Nishanth Aravamudan Thanks, Nish -- Nishanth Aravamudan IBM Linux Technology Center