ftrace: Fix memory leak caused by not freeing entry in unregister_ftrace_direct()
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 23 Apr 2020 01:38:45 +0000 (21:38 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 23 Apr 2020 02:04:27 +0000 (22:04 -0400)
commit353da87921a5ec654e7e9024e083f099f1b33c97
treedf0a59f481b9b29afbc2bb02e519192695046feb
parent9da73974eb9c965dd9989befb593b8c8da9e4bdc
ftrace: Fix memory leak caused by not freeing entry in unregister_ftrace_direct()

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>
kernel/trace/ftrace.c