[DTrace-devel] [PATCH 3/8] rawfbt: perform lookup on true symbol names

Kris Van Hees kris.van.hees at oracle.com
Fri Mar 7 21:34:36 UTC 2025


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;
 
-- 
2.45.2




More information about the DTrace-devel mailing list