Re: [PATCH] ring-buffer: Fix reader page read offset for remote buffers
From: Keir Fraser
Date: Wed Jul 29 2026 - 09:58:17 EST
On Wed, Jul 29, 2026 at 02:36:09PM +0100, Vincent Donnefort wrote:
> A page swapped in by __rb_get_reader_page_from_remote() retains its
> stale read offset, causing subsequent reads to skip events or read
> past valid data. Fix it.
>
> Fixes: fbd1743ecba1 ("ring-buffer: Add non-consuming read for ring-buffer remotes")
> Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxxx>
Reviewed-by: Keir Fraser <keirf@xxxxxxxxxx>
Tested-by: Keir Fraser <keirf@xxxxxxxxxx>
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index 804ccae694d2..78d3875a47a5 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -5783,6 +5783,7 @@ __rb_get_reader_page_from_remote(struct ring_buffer_per_cpu *cpu_buffer)
>
> cpu_buffer->head_page = new_head;
> cpu_buffer->reader_page = new_reader;
> + cpu_buffer->reader_page->read = 0;
> cpu_buffer->pages = &new_head->list;
> cpu_buffer->read_stamp = new_reader->page->time_stamp;
> cpu_buffer->lost_events = cpu_buffer->meta_page->reader.lost_events;
>
> base-commit: f5098b6bae761e346ebcd9da7f95622c04733cff
> --
> 2.55.0.487.gaf234c4eb3-goog
>