aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.c
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2010-05-21 13:32:26 -0400
committerSteven Rostedt <rostedt@goodmis.org>2010-05-25 11:57:26 -0400
commit2711ca237a084286ea1c2dcf82ab2aadab23a00d (patch)
treea795fa0e31e8557befd803153a33827b1d0c8764 /kernel/trace/trace.c
parentb3230c8b44da5838cf396942d5c1ab19f8e8f720 (diff)
ring-buffer: Move zeroing out excess in page to ring buffer code
Currently the trace splice code zeros out the excess bytes in the page before sending it off to userspace. This is to make sure userspace is not getting anything it should not be when reading the pages, because the excess data was never initialized to zero before writing (for perfomance reasons). But the splice code has no business in doing this work, it should be done by the ring buffer. With the latest changes for recording lost events, the splice code gets it wrong anyway. Move the zeroing out of excess bytes into the ring buffer code. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r--kernel/trace/trace.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index ba0ec81158b2..95d0b1a28f93 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3661,7 +3661,6 @@ tracing_buffers_read(struct file *filp, char __user *ubuf,
3661 size_t count, loff_t *ppos) 3661 size_t count, loff_t *ppos)
3662{ 3662{
3663 struct ftrace_buffer_info *info = filp->private_data; 3663 struct ftrace_buffer_info *info = filp->private_data;
3664 unsigned int pos;
3665 ssize_t ret; 3664 ssize_t ret;
3666 size_t size; 3665 size_t size;
3667 3666
@@ -3688,11 +3687,6 @@ tracing_buffers_read(struct file *filp, char __user *ubuf,
3688 if (ret < 0) 3687 if (ret < 0)
3689 return 0; 3688 return 0;
3690 3689
3691 pos = ring_buffer_page_len(info->spare);
3692
3693 if (pos < PAGE_SIZE)
3694 memset(info->spare + pos, 0, PAGE_SIZE - pos);
3695
3696read: 3690read:
3697 size = PAGE_SIZE - info->read; 3691 size = PAGE_SIZE - info->read;
3698 if (size > count) 3692 if (size > count)