summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.c
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2014-06-07 05:17:28 +0200
committerSteven Rostedt <rostedt@goodmis.org>2014-06-07 05:17:28 +0200
commita9fcaaac37b3baba1343f906f52aeb65c4d4e356 (patch)
treeb0fb182c483b2737f410a50588a7158288b4dd27 /kernel/trace/trace.c
parenttracing: Fix leak of ring buffer data when new instances creation fails (diff)
downloadlinux-a9fcaaac37b3baba1343f906f52aeb65c4d4e356.tar.xz
linux-a9fcaaac37b3baba1343f906f52aeb65c4d4e356.zip
tracing: Fix memory leak on instance deletion
When an instance is created, it also gets a snapshot ring buffer allocated (with minimum of pages). But when it is deleted the snapshot buffer is not. There was a helper function added to match the allocation of these ring buffers to a way to free them, but it wasn't used by the deletion of an instance. Using that helper function solves this memory leak. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r--kernel/trace/trace.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 26cfff38e2ab..16f7038d1f4d 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -6349,8 +6349,7 @@ static int instance_delete(const char *name)
event_trace_del_tracer(tr);
ftrace_destroy_function_files(tr);
debugfs_remove_recursive(tr->dir);
- free_percpu(tr->trace_buffer.data);
- ring_buffer_free(tr->trace_buffer.buffer);
+ free_trace_buffers(tr);
kfree(tr->name);
kfree(tr);