diff options
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r-- | kernel/trace/trace.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 71777c8fe36b..61fda6b6f1ab 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -3697,7 +3697,7 @@ tracing_buffers_read(struct file *filp, char __user *ubuf, | |||
3697 | return 0; | 3697 | return 0; |
3698 | 3698 | ||
3699 | if (!info->spare) | 3699 | if (!info->spare) |
3700 | info->spare = ring_buffer_alloc_read_page(info->tr->buffer); | 3700 | info->spare = ring_buffer_alloc_read_page(info->tr->buffer, info->cpu); |
3701 | if (!info->spare) | 3701 | if (!info->spare) |
3702 | return -ENOMEM; | 3702 | return -ENOMEM; |
3703 | 3703 | ||
@@ -3854,7 +3854,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos, | |||
3854 | 3854 | ||
3855 | ref->ref = 1; | 3855 | ref->ref = 1; |
3856 | ref->buffer = info->tr->buffer; | 3856 | ref->buffer = info->tr->buffer; |
3857 | ref->page = ring_buffer_alloc_read_page(ref->buffer); | 3857 | ref->page = ring_buffer_alloc_read_page(ref->buffer, info->cpu); |
3858 | if (!ref->page) { | 3858 | if (!ref->page) { |
3859 | kfree(ref); | 3859 | kfree(ref); |
3860 | break; | 3860 | break; |
@@ -3863,8 +3863,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos, | |||
3863 | r = ring_buffer_read_page(ref->buffer, &ref->page, | 3863 | r = ring_buffer_read_page(ref->buffer, &ref->page, |
3864 | len, info->cpu, 1); | 3864 | len, info->cpu, 1); |
3865 | if (r < 0) { | 3865 | if (r < 0) { |
3866 | ring_buffer_free_read_page(ref->buffer, | 3866 | ring_buffer_free_read_page(ref->buffer, ref->page); |
3867 | ref->page); | ||
3868 | kfree(ref); | 3867 | kfree(ref); |
3869 | break; | 3868 | break; |
3870 | } | 3869 | } |