On Sat, 4 Nov 2023 01:05:34 +0900 "Masami Hiramatsu (Google)" <mhira...@kernel.org> wrote:
> From: Masami Hiramatsu (Google) <mhira...@kernel.org> > > Fix to check the tracepoint event is not valid with $retval. > The commit 08c9306fc2e3 ("tracing/fprobe-event: Assume fprobe is > a return event by $retval") introduced automatic return probe > conversion with $retval. But since tracepoint event does not > support return probe, $retval is not acceptable. Can you add the command that causes this to fail. -- Steve > > Fixes: 08c9306fc2e3 ("tracing/fprobe-event: Assume fprobe is a return event > by $retval") > Cc: sta...@vger.kernel.org > Signed-off-by: Masami Hiramatsu (Google) <mhira...@kernel.org> > --- > kernel/trace/trace_fprobe.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/kernel/trace/trace_fprobe.c b/kernel/trace/trace_fprobe.c > index 8bfe23af9c73..7d2ddbcfa377 100644 > --- a/kernel/trace/trace_fprobe.c > +++ b/kernel/trace/trace_fprobe.c > @@ -927,11 +927,12 @@ static int parse_symbol_and_return(int argc, const char > *argv[], > for (i = 2; i < argc; i++) { > tmp = strstr(argv[i], "$retval"); > if (tmp && !isalnum(tmp[7]) && tmp[7] != '_') { > + if (is_tracepoint) { > + trace_probe_log_set_index(i); > + trace_probe_log_err(tmp - argv[i], > RETVAL_ON_PROBE); > + return -EINVAL; > + } > *is_return = true; > - /* > - * NOTE: Don't check is_tracepoint here, because it will > - * be checked when the argument is parsed. > - */ > break; > } > }