lkml.org 
[lkml]   [2020]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.6 66/79] ftrace: Fix memory leak caused by not freeing entry in unregister_ftrace_direct()
    Date
    From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

    [ Upstream commit 353da87921a5ec654e7e9024e083f099f1b33c97 ]

    kmemleak reported the following:

    unreferenced object 0xffff90d47127a920 (size 32):
    comm "modprobe", pid 1766, jiffies 4294792031 (age 162.568s)
    hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 22 01 00 00 00 00 ad de ........".......
    00 78 12 a7 ff ff ff ff 00 00 b6 c0 ff ff ff ff .x..............
    backtrace:
    [<00000000bb79e72e>] register_ftrace_direct+0xcb/0x3a0
    [<00000000295e4f79>] do_one_initcall+0x72/0x340
    [<00000000873ead18>] do_init_module+0x5a/0x220
    [<00000000974d9de5>] load_module+0x2235/0x2550
    [<0000000059c3d6ce>] __do_sys_finit_module+0xc0/0x120
    [<000000005a8611b4>] do_syscall_64+0x60/0x230
    [<00000000a0cdc49e>] entry_SYSCALL_64_after_hwframe+0x49/0xb3

    The entry used to save the direct descriptor needs to be freed
    when unregistering.

    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    kernel/trace/ftrace.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
    index fd81c7de77a70..63089c70adbb6 100644
    --- a/kernel/trace/ftrace.c
    +++ b/kernel/trace/ftrace.c
    @@ -5155,6 +5155,7 @@ int unregister_ftrace_direct(unsigned long ip, unsigned long addr)
    list_del_rcu(&direct->next);
    synchronize_rcu_tasks();
    kfree(direct);
    + kfree(entry);
    ftrace_direct_func_count--;
    }
    }
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-04-30 15:52    [W:4.148 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site