Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753288Ab0KEHq3 (ORCPT ); Fri, 5 Nov 2010 03:46:29 -0400 Received: from mail-ww0-f44.google.com ([74.125.82.44]:60379 "EHLO mail-ww0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751319Ab0KEHq1 (ORCPT ); Fri, 5 Nov 2010 03:46:27 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=AVKZo2Vdvb/5c/0dsYitJ3MHDVbujHkpGO4t1YuXOwfCRylcDWmLMVy8k7kK2hI0sl 1xNZHj2OQw+hSj3DzKcNaCrr1V7n0o06TZSKcY64L7YOjzxuVV5OsFOARKQ7GPAhqzfJ CW077TUwFgYICyXlGAkeOIRLY3qkFNW0I2Xug= MIME-Version: 1.0 In-Reply-To: References: Date: Fri, 5 Nov 2010 15:46:26 +0800 Message-ID: Subject: Re: [PATCH] kdb: fix memory leak From: Dongdong Deng To: jovi zhang Cc: Jason Wessel , Martin Hicks , Dmitry Torokhov , Andrew Morton , Rusty Russell , kgdb-bugreport@lists.sourceforge.net, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id oA57kdrD001424 Content-Length: 1830 Lines: 54 On Fri, Nov 5, 2010 at 1:44 PM, jovi zhang wrote: > fix memory leak in kdb_main.c > > Signed-off-by: jovi zhang > kernel/debug/kdb/kdb_main.c |   13 +++++++------ > 1 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c > index 37755d6..3ab3fee 100644 > --- a/kernel/debug/kdb/kdb_main.c > +++ b/kernel/debug/kdb/kdb_main.c > @@ -2361,7 +2361,7 @@ static int kdb_pid(int argc, const char **argv) >  */ > static int kdb_ll(int argc, const char **argv) > { > -       int diag; > +       int diag = 0; >        unsigned long addr; >        long offset = 0; >        unsigned long va; > @@ -2400,20 +2400,21 @@ static int kdb_ll(int argc, const char **argv) >                char buf[80]; > >                if (KDB_FLAG(CMD_INTERRUPT)) > -                       return 0; > +                       goto out; > >                sprintf(buf, "%s " kdb_machreg_fmt "\n", command, va); >                diag = kdb_parse(buf); >                if (diag) > -                       return diag; > +                       goto out; > >                addr = va + linkoffset; >                if (kdb_getword(&va, addr, sizeof(va))) > -                       return 0; > +                       goto out; >        } > -       kfree(command); > > -       return 0; > +out: > +       kfree(command); > +       return diag; > } > > static int kdb_kgdb(int argc, const char **argv) > It is ok for me. :-) Dongdong ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?