From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932463AbZHNPDI (ORCPT ); Fri, 14 Aug 2009 11:03:08 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932405AbZHNPDH (ORCPT ); Fri, 14 Aug 2009 11:03:07 -0400 Received: from mail-ew0-f214.google.com ([209.85.219.214]:54184 "EHLO mail-ew0-f214.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932390AbZHNPDE (ORCPT ); Fri, 14 Aug 2009 11:03:04 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=uGBYgRAKz75hIW4jaU92oQgBAzf9svxCUd3BQhIDG+Hn0ip2n87BO3xrUMs4uaoiR7 ICRiBPRrbcoyAWYZTEWQZtCee2AdVAf/PoSZKXLyrEmnUPQYCWmfNmRtA4IS3vFQq8iS /Dy5+s84jEQ80c0nqNjU5tat+e5UrVAARd58E= MIME-Version: 1.0 Date: Fri, 14 Aug 2009 16:03:04 +0100 Message-ID: <6278d2220908140803g554ab931o58672a1b4c11e245@mail.gmail.com> Subject: [2.6.31-rc6, BTRFS] potential memory leaks... From: Daniel J Blueman To: Linux BTRFS , Chris Mason Cc: Linux Kernel Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is good chance that the BTRFS kmemleak reports using 2.6.31-rc6 [1] are false-positives, due to the overwriting of the static pointers [2]. Does this ring true with anyone else? --- [1] unreferenced object 0xffff88001eda7000 (size 168): comm "rm", pid 14794, jiffies 4301710929 backtrace: [] create_object+0x141/0x2d0 [] kmemleak_alloc+0x55/0x60 [] kmem_cache_alloc+0x153/0x1a0 [] alloc_extent_state+0x19/0x70 [] clear_extent_bit+0x233/0x2e0 [] try_release_extent_state+0x7e/0xa0 [] btree_releasepage+0x63/0xa0 [] try_to_release_page+0x2e/0x60 [] invalidate_mapping_pages+0x1ac/0x1c0 [] __btrfs_free_extent+0x56a/0x8e0 [] run_one_delayed_ref+0x4bd/0x4f0 [] run_clustered_refs+0xcf/0x360 [] btrfs_run_delayed_refs+0xc6/0x1f0 [] __btrfs_end_transaction+0x59/0x130 [] btrfs_end_transaction+0xb/0x10 [] btrfs_delete_inode+0x112/0x130 unreferenced object 0xffff88006c5912a0 (size 168): comm "make", pid 3983, jiffies 4296054079 backtrace: [] create_object+0x141/0x2d0 [] kmemleak_alloc+0x55/0x60 [] kmem_cache_alloc+0x153/0x1a0 [] alloc_extent_state+0x19/0x70 [] set_extent_bit+0x1ee/0x390 [] lock_extent+0x73/0xa0 [] __extent_read_full_page+0x97/0x610 [] read_extent_buffer_pages+0x3f9/0x540 [] readahead_tree_block+0x4f/0x60 [] read_block_for_search+0x2f3/0x3b0 [] btrfs_next_leaf+0x28b/0x3f0 [] btrfs_real_readdir+0x1ca/0x4e0 [] vfs_readdir+0xb0/0xd0 [] sys_getdents+0x87/0xe0 [] system_call_fastpath+0x16/0x1b unreferenced object 0xffff88003bf5d800 (size 256): comm "btrfs-transacti", pid 2060, jiffies 4301667515 backtrace: [] create_object+0x141/0x2d0 [] kmemleak_alloc+0x55/0x60 [] kmem_cache_alloc+0x153/0x1a0 [] alloc_extent_buffer+0x79/0x3e0 [] btrfs_find_create_tree_block+0x28/0x30 [] btrfs_init_new_buffer+0x31/0x140 [] btrfs_alloc_free_block+0xa4/0x230 [] __btrfs_cow_block+0x137/0x670 [] btrfs_cow_block+0xef/0x1f0 [] btrfs_search_slot+0x19a/0x890 [] btrfs_del_csums+0xee/0x2e0 [] __btrfs_free_extent+0x6b9/0x8e0 [] run_one_delayed_ref+0x402/0x4f0 [] run_clustered_refs+0xcf/0x360 [] btrfs_run_delayed_refs+0xc6/0x1f0 [] btrfs_commit_transaction+0x7a/0x750 unreferenced object 0xffff8800668e8600 (size 256): comm "btrfs-endio-wri", pid 2053, jiffies 4301877227 backtrace: [] create_object+0x141/0x2d0 [] kmemleak_alloc+0x55/0x60 [] kmem_cache_alloc+0x153/0x1a0 [] alloc_extent_buffer+0x79/0x3e0 [] btrfs_find_create_tree_block+0x28/0x30 [] btrfs_init_new_buffer+0x31/0x140 [] btrfs_alloc_free_block+0xa4/0x230 [] __btrfs_cow_block+0x137/0x670 [] btrfs_cow_block+0xef/0x1f0 [] btrfs_search_slot+0x19a/0x890 [] btrfs_insert_empty_items+0x69/0xd0 [] run_one_delayed_ref+0x1b8/0x4f0 [] run_clustered_refs+0xcf/0x360 [] btrfs_run_delayed_refs+0xc6/0x1f0 [] __btrfs_end_transaction+0x59/0x130 [] btrfs_end_transaction+0xb/0x10 --- [2] fs/btrfs/extent_io.c:46 static struct kmem_cache *extent_state_cache; static struct kmem_cache *extent_buffer_cache -- Daniel J Blueman