kernel/trace/trace_kprobe.c | 2 -- 1 file changed, 2 deletions(-)
Function __kprobe_trace_func calls ring_buffer_event_data to
get a ring buffer, however, it has been done in above call
trace_event_buffer_reserve. So does __kretprobe_trace_func.
This patch removes those duplicated calls.
Signed-off-by: Song Chen <chensong_2000@189.cn>
---
kernel/trace/trace_kprobe.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 23f7f0ec4f4c..f905829b856b 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -1394,7 +1394,6 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs,
return;
fbuffer.regs = regs;
- entry = fbuffer.entry = ring_buffer_event_data(fbuffer.event);
entry->ip = (unsigned long)tk->rp.kp.addr;
store_trace_args(&entry[1], &tk->tp, regs, sizeof(*entry), dsize);
@@ -1435,7 +1434,6 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri,
return;
fbuffer.regs = regs;
- entry = fbuffer.entry = ring_buffer_event_data(fbuffer.event);
entry->func = (unsigned long)tk->rp.kp.addr;
entry->ret_ip = get_kretprobe_retaddr(ri);
store_trace_args(&entry[1], &tk->tp, regs, sizeof(*entry), dsize);
--
2.25.1
On Wed, 19 Oct 2022 10:11:18 +0800 Song Chen <chensong_2000@189.cn> wrote: > Function __kprobe_trace_func calls ring_buffer_event_data to > get a ring buffer, however, it has been done in above call > trace_event_buffer_reserve. So does __kretprobe_trace_func. > > This patch removes those duplicated calls. > > Signed-off-by: Song Chen <chensong_2000@189.cn> Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org> Masami, want to take this one? -- Steve > --- > kernel/trace/trace_kprobe.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c > index 23f7f0ec4f4c..f905829b856b 100644 > --- a/kernel/trace/trace_kprobe.c > +++ b/kernel/trace/trace_kprobe.c > @@ -1394,7 +1394,6 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs, > return; > > fbuffer.regs = regs; > - entry = fbuffer.entry = ring_buffer_event_data(fbuffer.event); > entry->ip = (unsigned long)tk->rp.kp.addr; > store_trace_args(&entry[1], &tk->tp, regs, sizeof(*entry), dsize); > > @@ -1435,7 +1434,6 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri, > return; > > fbuffer.regs = regs; > - entry = fbuffer.entry = ring_buffer_event_data(fbuffer.event); > entry->func = (unsigned long)tk->rp.kp.addr; > entry->ret_ip = get_kretprobe_retaddr(ri); > store_trace_args(&entry[1], &tk->tp, regs, sizeof(*entry), dsize);
On Wed, 19 Oct 2022 09:30:22 -0400 Steven Rostedt <rostedt@goodmis.org> wrote: > On Wed, 19 Oct 2022 10:11:18 +0800 > Song Chen <chensong_2000@189.cn> wrote: > > > Function __kprobe_trace_func calls ring_buffer_event_data to > > get a ring buffer, however, it has been done in above call > > trace_event_buffer_reserve. So does __kretprobe_trace_func. > > > > This patch removes those duplicated calls. > > > > Signed-off-by: Song Chen <chensong_2000@189.cn> > > Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org> > > Masami, want to take this one? yes, this looks good to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Thank you, > > -- Steve > > > --- > > kernel/trace/trace_kprobe.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c > > index 23f7f0ec4f4c..f905829b856b 100644 > > --- a/kernel/trace/trace_kprobe.c > > +++ b/kernel/trace/trace_kprobe.c > > @@ -1394,7 +1394,6 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs, > > return; > > > > fbuffer.regs = regs; > > - entry = fbuffer.entry = ring_buffer_event_data(fbuffer.event); > > entry->ip = (unsigned long)tk->rp.kp.addr; > > store_trace_args(&entry[1], &tk->tp, regs, sizeof(*entry), dsize); > > > > @@ -1435,7 +1434,6 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri, > > return; > > > > fbuffer.regs = regs; > > - entry = fbuffer.entry = ring_buffer_event_data(fbuffer.event); > > entry->func = (unsigned long)tk->rp.kp.addr; > > entry->ret_ip = get_kretprobe_retaddr(ri); > > store_trace_args(&entry[1], &tk->tp, regs, sizeof(*entry), dsize); > -- Masami Hiramatsu (Google) <mhiramat@kernel.org>
© 2016 - 2026 Red Hat, Inc.