From: Steven Rostedt <rost...@goodmis.org>

In the function ring_buffer_discard_commit() there's an if statement that
jumps to the next line:

        if (rb_try_to_discard(cpu_buffer, event))
                goto out;
 out:

This was caused by the change that modified the way timestamps were taken
in interrupt context, and removed the code between the if statement and
the goto, but failed to update the conditional logic.

Fixes: a389d86f7fd0 ("ring-buffer: Have nested events still record running time 
stamp")
Signed-off-by: Steven Rostedt (Google) <rost...@goodmis.org>
---
 kernel/trace/ring_buffer.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index e2aa90dc8d9e..0a3be3a01d14 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -4681,10 +4681,7 @@ void ring_buffer_discard_commit(struct trace_buffer 
*buffer,
        RB_WARN_ON(buffer, !local_read(&cpu_buffer->committing));
 
        rb_decrement_entry(cpu_buffer, event);
-       if (rb_try_to_discard(cpu_buffer, event))
-               goto out;
-
- out:
+       rb_try_to_discard(cpu_buffer, event);
        rb_end_commit(cpu_buffer);
 
        trace_recursive_unlock(cpu_buffer);
-- 
2.47.2


Reply via email to