On Thu, 13 Aug 2026 14:11:43 +0100
Vincent Donnefort <[email protected]> wrote:
> When sub-buffers use an order greater than 0, cpu_buffer->free_page is
> allocated with subbuf_order. Use the correct order for
> cpu_buffer->free_page.
>
> Fixes: f9b94daa542a ("ring-buffer: Set new size of the ring buffer sub page")
> Reported-by: Sashiko <[email protected]>
> Signed-off-by: Vincent Donnefort <[email protected]>
This looks good to me. (with fixing racing issue.)
Reviewed-by: Masami Hiramatsu (Google) <[email protected]>
>
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index 2667992f0aa2..a3d28b2e2c94 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -2631,7 +2631,7 @@ static void rb_free_cpu_buffer(struct
> ring_buffer_per_cpu *cpu_buffer)
> free_buffer_page(bpage);
> }
>
> - free_page((unsigned long)cpu_buffer->free_page);
> + free_pages((unsigned long)cpu_buffer->free_page,
> cpu_buffer->buffer->subbuf_order);
>
> kfree(cpu_buffer);
> }
> --
> 2.55.0.691.gc56d675ccc-goog
>
>
--
Masami Hiramatsu (Google) <[email protected]>