Re: [PATCH -tip 5/5] tracing: Remove kretprobe unknown indicator from stacktrace

From: Steven Rostedt
Date: Fri Mar 05 2021 - 10:44:46 EST


On Sat, 6 Mar 2021 00:39:50 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> Since the stacktrace API fixup the kretprobed address correctly,
> there is no need to convert the "kretprobe_trampoline" to
> "[unknown/kretprobe'd]" anymore. Remove it.
>
> Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> ---
> kernel/trace/trace_output.c | 27 ++++-----------------------
> 1 file changed, 4 insertions(+), 23 deletions(-)
>

Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

-- Steve

> diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
> index 61255bad7e01..f5f8b081b668 100644
> --- a/kernel/trace/trace_output.c
> +++ b/kernel/trace/trace_output.c
> @@ -346,37 +346,18 @@ int trace_output_call(struct trace_iterator *iter, char *name, char *fmt, ...)
> }
> EXPORT_SYMBOL_GPL(trace_output_call);
>
> -#ifdef CONFIG_KRETPROBES
> -static inline const char *kretprobed(const char *name)
> -{
> - static const char tramp_name[] = "kretprobe_trampoline";
> - int size = sizeof(tramp_name);
> -
> - if (strncmp(tramp_name, name, size) == 0)
> - return "[unknown/kretprobe'd]";
> - return name;
> -}
> -#else
> -static inline const char *kretprobed(const char *name)
> -{
> - return name;
> -}
> -#endif /* CONFIG_KRETPROBES */
> -
> void
> trace_seq_print_sym(struct trace_seq *s, unsigned long address, bool offset)
> {
> #ifdef CONFIG_KALLSYMS
> - char str[KSYM_SYMBOL_LEN];
> - const char *name;
> + char name[KSYM_SYMBOL_LEN];
>
> if (offset)
> - sprint_symbol(str, address);
> + sprint_symbol(name, address);
> else
> - kallsyms_lookup(address, NULL, NULL, NULL, str);
> - name = kretprobed(str);
> + kallsyms_lookup(address, NULL, NULL, NULL, name);
>
> - if (name && strlen(name)) {
> + if (strlen(name)) {
> trace_seq_puts(s, name);
> return;
> }