Messages in this thread Patch in this message | | | Subject | Re: [PATCH] ring-buffer: fix uninitialized read_stamp | From | Steven Rostedt <> | Date | Thu, 21 Jun 2012 11:56:44 -0400 |
| |
On Thu, 2012-06-21 at 11:46 -0400, Steven Rostedt wrote:
> I'm wondering if it would be better to just not do the swap, and return > NULL when it is empty. This would also fix the problem, as the > read_stamp will only be set when you actually have data.
Does something like this work for you. Note, this is totally untested!
-- Steve
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index ad0239b..5943044 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -3246,6 +3246,10 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer) if (cpu_buffer->commit_page == cpu_buffer->reader_page) goto out; + /* Don't bother swapping if the ring buffer is empty */ + if (rb_num_of_entries(cpu_buffer) == 0) + goto out; + /* * Reset the reader page to size zero. */
| |