Re: [PATCH] ftrace: fix kmemleak in unregister_ftrace_graph

From: Steven Rostedt
Date: Tue Oct 03 2017 - 10:30:02 EST


On Tue, 26 Sep 2017 08:01:26 -0400 (EDT)
Shu Wang <shuwang@xxxxxxxxxx> wrote:

> > From: shuwang@xxxxxxxxxx
> > To: rostedt@xxxxxxxxxxx, mingo@xxxxxxxxxx
> > Cc: chuhu@xxxxxxxxxx, liwang@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, "Shu Wang" <shuwang@xxxxxxxxxx>
> > Sent: Tuesday, September 12, 2017 10:14:54 AM
> > Subject: [PATCH] ftrace: fix kmemleak in unregister_ftrace_graph
> >
> > From: Shu Wang <shuwang@xxxxxxxxxx>
> >
> > The trampoline allocated by function tracer was
> > overwrite by function_graph tracer, and cause
> > memory leak. The save_global_trampoline should
> > save previous trampoline in register_ftrace_graph
> > and restore it in unregister_ftrace_graph. But
> > as it implemented, save_global_trampoline was only
> > used in unregister_ftrace_graph as default value 0,
> > and overwrite the previous trampoline's value.
> >
> > kmmeleak backtrace:
> > kmemleak_vmalloc+0x77/0xc0
> > __vmalloc_node_range+0x1b5/0x2c0
> > module_alloc+0x7c/0xd0
> > arch_ftrace_update_trampoline+0xb5/0x290
> > ftrace_startup+0x78/0x210
> > register_ftrace_function+0x8b/0xd0
> > function_trace_init+0x4f/0x80
> > tracing_set_tracer+0xe6/0x170
> > tracing_set_trace_write+0x90/0xd0
> > __vfs_write+0x37/0x170
> > vfs_write+0xb2/0x1b0
> > SyS_write+0x55/0xc0
> > do_syscall_64+0x67/0x180
> > return_from_SYSCALL_64+0x0/0x6a
> >
> > Signed-off-by: Shu Wang <shuwang@xxxxxxxxxx>



> >
>
> ping


Thanks for the reminder. I pulled it in and will send this out to Linus
after the testing finishes. I also marked it for stable.

-- Steve