]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tracing: Have syscall trace events use trace_event_buffer_lock_reserve()
authorSteven Rostedt <rostedt@goodmis.org>
Fri, 7 Jan 2022 22:56:56 +0000 (17:56 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 13 Jan 2022 21:23:05 +0000 (16:23 -0500)
Currently, the syscall trace events call trace_buffer_lock_reserve()
directly, which means that it misses out on some of the filtering
optimizations provided by the helper function
trace_event_buffer_lock_reserve(). Have the syscall trace events call that
instead, as it was missed when adding the update to use the temp buffer
when filtering.

Link: https://lkml.kernel.org/r/20220107225839.823118570@goodmis.org
Cc: stable@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tom Zanussi <zanussi@kernel.org>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Fixes: 0fc1b09ff1ff4 ("tracing: Use temp buffer when filtering events")
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_syscalls.c

index 8bfcd3b0942262abc34134459234b975190edc01..f755bde42fd07c1be41445f02b895a4e4828cf88 100644 (file)
@@ -323,8 +323,7 @@ static void ftrace_syscall_enter(void *data, struct pt_regs *regs, long id)
 
        trace_ctx = tracing_gen_ctx();
 
-       buffer = tr->array_buffer.buffer;
-       event = trace_buffer_lock_reserve(buffer,
+       event = trace_event_buffer_lock_reserve(&buffer, trace_file,
                        sys_data->enter_event->event.type, size, trace_ctx);
        if (!event)
                return;
@@ -367,8 +366,7 @@ static void ftrace_syscall_exit(void *data, struct pt_regs *regs, long ret)
 
        trace_ctx = tracing_gen_ctx();
 
-       buffer = tr->array_buffer.buffer;
-       event = trace_buffer_lock_reserve(buffer,
+       event = trace_event_buffer_lock_reserve(&buffer, trace_file,
                        sys_data->exit_event->event.type, sizeof(*entry),
                        trace_ctx);
        if (!event)