diff options
Diffstat (limited to 'kernel/trace/ring_buffer.c')
| -rw-r--r-- | kernel/trace/ring_buffer.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 3632ce87674f..492197e2f86c 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c | |||
| @@ -2985,13 +2985,11 @@ static void rb_advance_reader(struct ring_buffer_per_cpu *cpu_buffer) | |||
| 2985 | 2985 | ||
| 2986 | static void rb_advance_iter(struct ring_buffer_iter *iter) | 2986 | static void rb_advance_iter(struct ring_buffer_iter *iter) |
| 2987 | { | 2987 | { |
| 2988 | struct ring_buffer *buffer; | ||
| 2989 | struct ring_buffer_per_cpu *cpu_buffer; | 2988 | struct ring_buffer_per_cpu *cpu_buffer; |
| 2990 | struct ring_buffer_event *event; | 2989 | struct ring_buffer_event *event; |
| 2991 | unsigned length; | 2990 | unsigned length; |
| 2992 | 2991 | ||
| 2993 | cpu_buffer = iter->cpu_buffer; | 2992 | cpu_buffer = iter->cpu_buffer; |
| 2994 | buffer = cpu_buffer->buffer; | ||
| 2995 | 2993 | ||
| 2996 | /* | 2994 | /* |
| 2997 | * Check if we are at the end of the buffer. | 2995 | * Check if we are at the end of the buffer. |
| @@ -3846,6 +3844,9 @@ int ring_buffer_read_page(struct ring_buffer *buffer, | |||
| 3846 | rpos = reader->read; | 3844 | rpos = reader->read; |
| 3847 | pos += size; | 3845 | pos += size; |
| 3848 | 3846 | ||
| 3847 | if (rpos >= commit) | ||
| 3848 | break; | ||
| 3849 | |||
| 3849 | event = rb_reader_event(cpu_buffer); | 3850 | event = rb_reader_event(cpu_buffer); |
| 3850 | size = rb_event_length(event); | 3851 | size = rb_event_length(event); |
| 3851 | } while (len > size); | 3852 | } while (len > size); |
