Re: [PATCH v3] ring buffer: Propagate __rb_map_vma return value to caller
From: Steven Rostedt
Date: Thu Oct 09 2025 - 10:06:20 EST
On Thu, 9 Oct 2025 10:23:45 +0530
Ankit Khushwaha <ankitkhushwaha.linux@xxxxxxxxx> wrote:
> The return value from __rb_map_vma(), which rejects writable or
> executable mappings (VM_WRITE, VM_EXEC, or !VM_MAYSHARE), was being
> ignored. As a result the caller of `__rb_map_vma` always returned 0 even when the
> mapping had actually failed, allowing it to proceed with an invalid VMA.
>
> Reported-by: syzbot+ddc001b92c083dbf2b97@xxxxxxxxxxxxxxxxxxxxxxxxx
> Closes: https://syzkaller.appspot.com/bug?id=194151be8eaebd826005329b2e123aecae714bdb
> Signed-off-by: Ankit Khushwaha <ankitkhushwaha.linux@xxxxxxxxx>
> ---
>
> Changes in v3: https://lore.kernel.org/linux-trace-kernel/20251008172516.20697-1-ankitkhushwaha.linux@xxxxxxxxx/
> * Same as v2:)
>
> Changes in v2: https://lore.kernel.org/linux-trace-kernel/20251007171256.20884-1-ankitkhushwaha.linux@xxxxxxxxx/
> * applied minor cleanup suggested by Steve in v1
>
This is good practice, but I already pulled in v2.
-- Steve
> ---
> kernel/trace/ring_buffer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
> index 43460949ad3f..1244d2c5c384 100644
> --- a/kernel/trace/ring_buffer.c
> +++ b/kernel/trace/ring_buffer.c
> @@ -7273,7 +7273,7 @@ int ring_buffer_map(struct trace_buffer *buffer, int cpu,
> atomic_dec(&cpu_buffer->resize_disabled);
> }
>
> - return 0;
> + return err;
> }
>
> int ring_buffer_unmap(struct trace_buffer *buffer, int cpu)