summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-04-29 00:16:21 -0400
committerSteven Rostedt <rostedt@goodmis.org>2009-04-29 00:16:21 -0400
commit5beae6efd1004b44c3e257dc96087978e4c763c1 (patch)
tree8d3e4bb6cc11387197cbd10518201b375cd84fce
parentcd891ae0305601bdb4d2e7e85282961c4ff256cd (diff)
downloadlinux-5beae6efd1004b44c3e257dc96087978e4c763c1.tar.bz2
tracing: fix ref count in splice pages
The pages allocated for the splice binary buffer did not initialize the ref count correctly. This caused pages not to be freed and causes a drastic memory leak. Thanks to logdev I was able to trace the tracer to find where the leak was. [ Impact: stop memory leak when using splice ] Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/trace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 5d704a41f836..9058240c85ca 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3531,6 +3531,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos,
if (!ref)
break;
+ ref->ref = 1;
ref->buffer = info->tr->buffer;
ref->page = ring_buffer_alloc_read_page(ref->buffer);
if (!ref->page) {