Re: [PATCH 2/2] [v2] kallsyms: rework symbol lookup return codes

From: Jiri Olsa
Date: Wed Jul 26 2023 - 04:10:07 EST


On Mon, Jul 24, 2023 at 03:53:02PM +0200, Arnd Bergmann wrote:

SNIP

> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 05c0024815bf9..bc0eed24a5873 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -6965,7 +6965,7 @@ allocate_ftrace_mod_map(struct module *mod,
> return mod_map;
> }
>
> -static const char *
> +static int
> ftrace_func_address_lookup(struct ftrace_mod_map *mod_map,
> unsigned long addr, unsigned long *size,
> unsigned long *off, char *sym)
> @@ -6986,21 +6986,18 @@ ftrace_func_address_lookup(struct ftrace_mod_map *mod_map,
> *size = found_func->size;
> if (off)
> *off = addr - found_func->ip;
> - if (sym)
> - strscpy(sym, found_func->name, KSYM_NAME_LEN);
> -
> - return found_func->name;
> + return strlcpy(sym, found_func->name, KSYM_NAME_LEN);

hi,
any reason not to call the original strscpy in here?

jirka

> }
>
> - return NULL;
> + return 0;
> }
>
> -const char *
> +int
> ftrace_mod_address_lookup(unsigned long addr, unsigned long *size,
> unsigned long *off, char **modname, char *sym)
> {
> struct ftrace_mod_map *mod_map;
> - const char *ret = NULL;
> + int ret;
>
> /* mod_map is freed via call_rcu() */
> preempt_disable();
> --
> 2.39.2
>