summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2017-12-22 20:38:57 -0500
committerSasha Levin <alexander.levin@microsoft.com>2018-02-28 19:32:17 -0500
commit6cca8cd145ecb720a113aad7fc17786d89c00de1 (patch)
tree808d052f78baf1c921d1e5d0d52f74e8aa03870e /kernel
parent6d95be3ad026446d3144d2739bf285f0a177f3e2 (diff)
tracing: Remove extra zeroing out of the ring buffer page
[ Upstream commit 6b7e633fe9c24682df550e5311f47fb524701586 ] The ring_buffer_read_page() takes care of zeroing out any extra data in the page that it returns. There's no need to zero it out again from the consumer. It was removed from one consumer of this function, but read_buffers_splice_read() did not remove it, and worse, it contained a nasty bug because of it. Cc: stable@vger.kernel.org Fixes: 2711ca237a084 ("ring-buffer: Move zeroing out excess in page to ring buffer code") Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/trace/trace.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 7a26798ffbf9..915fffdc5329 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -5719,7 +5719,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos,
.spd_release = buffer_spd_release,
};
struct buffer_ref *ref;
- int entries, size, i;
+ int entries, i;
ssize_t ret = 0;
#ifdef CONFIG_TRACER_MAX_TRACE
@@ -5770,14 +5770,6 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos,
break;
}
- /*
- * zero out any left over data, this is going to
- * user land.
- */
- size = ring_buffer_page_len(ref->page);
- if (size < PAGE_SIZE)
- memset(ref->page + size, 0, PAGE_SIZE - size);
-
page = virt_to_page(ref->page);
spd.pages[i] = page;