[DTrace-devel] [PATCH 3/8] rawfbt: perform lookup on true symbol names
Eugene Loh
eugene.loh at oracle.com
Mon Mar 10 22:03:03 UTC 2025
Reviewed-by: Eugene Loh <eugene.loh at oracle.com>
On 3/7/25 16:34, Kris Van Hees wrote:
> When encountering a <sym>.<suffix> symbol, a symbol lookup was done for
> <sym> instead of <sym>.<suffix> under the assumption that names with .
> in them were not listed in kallsyms. But that is not true.
>
> Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> ---
> libdtrace/dt_prov_rawfbt.c | 18 ------------------
> 1 file changed, 18 deletions(-)
>
> diff --git a/libdtrace/dt_prov_rawfbt.c b/libdtrace/dt_prov_rawfbt.c
> index 4c8e8130..62f2f4f0 100644
> --- a/libdtrace/dt_prov_rawfbt.c
> +++ b/libdtrace/dt_prov_rawfbt.c
> @@ -122,27 +122,9 @@ static int populate(dtrace_hdl_t *dtp)
> * try to determine the module name.
> */
> if (!p) {
> - char *q;
> -
> - /*
> - * For synthetic symbol names (those containing '.'),
> - * we need to use the base name (before the '.') for
> - * module name lookup, because the synthetic forms are
> - * not recorded in kallsyms information.
> - *
> - * We replace the first '.' with a 0 to terminate the
> - * string, and after the lookup, we put it back.
> - */
> - q = strchr(buf, '.');
> - if (q != NULL)
> - *q = '\0';
> -
> if (dtrace_lookup_by_name(dtp, DTRACE_OBJ_KMODS, buf,
> NULL, &sip) == 0)
> mod = sip.object;
> -
> - if (q != NULL)
> - *q = '.';
> } else
> mod = p;
>
More information about the DTrace-devel
mailing list