[for-next][PATCH] tracing: Fix memory leak on instance deletion

From: Steven Rostedt
Date: Sat Jun 07 2014 - 21:42:30 EST



Ug, found a memory leak in instance deletion. Missed freeing the
snapshot buffer.

git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
for-next

Head SHA1: 17f83bffd1b41b5cd6fe08ad12c8a69341542ba2


Steven Rostedt (Red Hat) (1)
tracing: Fix memory leak on instance deletion

----
trace.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
---------------------------
commit a9fcaaac37b3baba1343f906f52aeb65c4d4e356
Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx>
Date: Fri Jun 6 23:17:28 2014 -0400

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@xxxxxxxxxxx>

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);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/