• Luis Henriques's avatar
    ftrace: Fix memory leak in ftrace_graph_release() · f9797c2f
    Luis Henriques authored
    ftrace_hash is being kfree'ed in ftrace_graph_release(), however the
    ->buckets field is not.  This results in a memory leak that is easily
    captured by kmemleak:
    
    unreferenced object 0xffff880038afe000 (size 8192):
      comm "trace-cmd", pid 238, jiffies 4294916898 (age 9.736s)
      hex dump (first 32 bytes):
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<ffffffff815f561e>] kmemleak_alloc+0x4e/0xb0
        [<ffffffff8113964d>] __kmalloc+0x12d/0x1a0
        [<ffffffff810bf6d1>] alloc_ftrace_hash+0x51/0x80
        [<ffffffff810c0523>] __ftrace_graph_open.isra.39.constprop.46+0xa3/0x100
        [<ffffffff810c05e8>] ftrace_graph_open+0x68/0xa0
        [<ffffffff8114003d>] do_dentry_open.isra.1+0x1bd/0x2d0
        [<ffffffff81140df7>] vfs_open+0x47/0x60
        [<ffffffff81150f95>] path_openat+0x2a5/0x1020
        [<ffffffff81152d6a>] do_filp_open+0x8a/0xf0
        [<ffffffff811411df>] do_sys_open+0x12f/0x200
        [<ffffffff811412ce>] SyS_open+0x1e/0x20
        [<ffffffff815fa6e0>] entry_SYSCALL_64_fastpath+0x13/0x94
        [<ffffffffffffffff>] 0xffffffffffffffff
    
    Link: http://lkml.kernel.org/r/20170525152038.7661-1-lhenriques@suse.com
    
    Cc: stable@vger.kernel.org
    Fixes: b9b0c831 ("ftrace: Convert graph filter to use hash tables")
    Signed-off-by: default avatarLuis Henriques <lhenriques@suse.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    f9797c2f
ftrace.c 152 KB