]> www.infradead.org Git - users/hch/misc.git/commitdiff
ring buffer: Propagate __rb_map_vma return value to caller
authorAnkit Khushwaha <ankitkhushwaha.linux@gmail.com>
Wed, 8 Oct 2025 17:25:16 +0000 (22:55 +0530)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Thu, 9 Oct 2025 01:48:58 +0000 (21:48 -0400)
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.

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://lore.kernel.org/20251008172516.20697-1-ankitkhushwaha.linux@gmail.com
Fixes: 117c39200d9d7 ("ring-buffer: Introducing ring-buffer mapping functions")
Reported-by: syzbot+ddc001b92c083dbf2b97@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?id=194151be8eaebd826005329b2e123aecae714bdb
Signed-off-by: Ankit Khushwaha <ankitkhushwaha.linux@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/ring_buffer.c

index 43460949ad3fdad6fdac0922ae88473812463148..1244d2c5c384ade76c85bd4c5a6e8cad40cb8e02 100644 (file)
@@ -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)