Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757546AbZGHG3C (ORCPT ); Wed, 8 Jul 2009 02:29:02 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753301AbZGHG2y (ORCPT ); Wed, 8 Jul 2009 02:28:54 -0400 Received: from casper.infradead.org ([85.118.1.10]:59871 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752264AbZGHG2x (ORCPT ); Wed, 8 Jul 2009 02:28:53 -0400 Subject: Re: Possible memory leak in request_firmware() From: David Woodhouse To: Ming Lei Cc: Catalin Marinas , Cornelia Huck , Greg Kroah-Hartman , linux-kernel , Sachin Sant In-Reply-To: References: <1246979820.9451.71.camel@pc1117.cambridge.arm.com> <20090707190125.61920d00@gondolin> <1247003445.5710.7.camel@pc1117.cambridge.arm.com> Content-Type: text/plain Date: Wed, 08 Jul 2009 07:28:39 +0100 Message-Id: <1247034519.15903.3.camel@macbook.infradead.org> Mime-Version: 1.0 X-Mailer: Evolution 2.26.2 (2.26.2-1.fc11) Content-Transfer-Encoding: 7bit X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1687 Lines: 44 On Wed, 2009-07-08 at 12:38 +0800, Ming Lei wrote: > 2009/7/8 Catalin Marinas : > > On Tue, 2009-07-07 at 19:01 +0200, Cornelia Huck wrote: > > > > There is one more leak in this area which I couldn't figure out where it > > should be freed: > > > > unreferenced object 0xc353e530 (size 512): > > comm "cat", pid 3130, jiffies 4294903232 > > backtrace: > > [] create_object+0xfa/0x250 > > [] kmemleak_alloc+0x5d/0x70 > > [] __kmalloc+0x10d/0x210 > > [] firmware_data_write+0x1df/0x270 > > [] write+0x13a/0x1b0 > > [] vfs_write+0x9c/0x190 > > [] sys_write+0x3d/0x70 > > [] sysenter_do_call+0x12/0x38 > > [] 0xffffffff > > > > Any idea? It looks like this is the kmalloc() in fw_realloc_buffer() > > (inlined in firmware_data_write). > > I guess the leak is introduced in commit : > commit 6e03a201bbe8137487f340d26aa662110e324b20 > firmware: speed up request_firmware(), v3 > > The attachment patch may fix the leak, please test and verify it. > Thanks. I think you need to stop it from clearing fw_priv->nr_pages too. With that change, it looks correct. Thanks. Acked-by: David Woodhouse -- David Woodhouse Open Source Technology Centre David.Woodhouse@intel.com Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/