• Minfei Huang's avatar
    lib/btree.c: fix leak of whole btree nodes · c75b53af
    Minfei Huang authored
    I use btree from 3.14-rc2 in my own module.  When the btree module is
    removed, a warning arises:
    
     kmem_cache_destroy btree_node: Slab cache still has objects
     CPU: 13 PID: 9150 Comm: rmmod Tainted: GF          O 3.14.0-rc2 #1
     Hardware name: Inspur NF5270M3/NF5270M3, BIOS CHEETAH_2.1.3 09/10/2013
     Call Trace:
       dump_stack+0x49/0x5d
       kmem_cache_destroy+0xcf/0xe0
       btree_module_exit+0x10/0x12 [btree]
       SyS_delete_module+0x198/0x1f0
       system_call_fastpath+0x16/0x1b
    
    The cause is that it doesn't release the last btree node, when height = 1
    and fill = 1.
    
    [akpm@linux-foundation.org: remove unneeded test of NULL]
    Signed-off-by: default avatarMinfei Huang <huangminfei@ucloud.cn>
    Cc: Joern Engel <joern@logfs.org>
    Cc: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c75b53af
btree.c 19.3 KB