tracing/kprobes: Do not open code event reserve logic
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 30 Nov 2021 02:39:49 +0000 (21:39 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Mon, 6 Dec 2021 20:37:22 +0000 (15:37 -0500)
As kprobe events use trace_event_buffer_commit() to commit the event to
the ftrace ring buffer, for consistency, it should use
trace_event_buffer_reserve() to allocate it, as the two functions are
related.

Link: https://lkml.kernel.org/r/20211130024319.257430762@goodmis.org
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_kprobe.c

index 33272a7..d10c019 100644 (file)
@@ -1383,17 +1383,11 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs,
        if (trace_trigger_soft_disabled(trace_file))
                return;
 
-       fbuffer.trace_ctx = tracing_gen_ctx();
-       fbuffer.trace_file = trace_file;
-
        dsize = __get_data_size(&tk->tp, regs);
 
-       fbuffer.event =
-               trace_event_buffer_lock_reserve(&fbuffer.buffer, trace_file,
-                                       call->event.type,
-                                       sizeof(*entry) + tk->tp.size + dsize,
-                                       fbuffer.trace_ctx);
-       if (!fbuffer.event)
+       entry = trace_event_buffer_reserve(&fbuffer, trace_file,
+                                          sizeof(*entry) + tk->tp.size + dsize);
+       if (!entry)
                return;
 
        fbuffer.regs = regs;
@@ -1430,16 +1424,11 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri,
        if (trace_trigger_soft_disabled(trace_file))
                return;
 
-       fbuffer.trace_ctx = tracing_gen_ctx();
-       fbuffer.trace_file = trace_file;
-
        dsize = __get_data_size(&tk->tp, regs);
-       fbuffer.event =
-               trace_event_buffer_lock_reserve(&fbuffer.buffer, trace_file,
-                                       call->event.type,
-                                       sizeof(*entry) + tk->tp.size + dsize,
-                                       fbuffer.trace_ctx);
-       if (!fbuffer.event)
+
+       entry = trace_event_buffer_reserve(&fbuffer, trace_file,
+                                          sizeof(*entry) + tk->tp.size + dsize);
+       if (!entry)
                return;
 
        fbuffer.regs = regs;