summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/dtrace/fbt.c
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2011-11-05 05:32:03 +0000
committerRichard Lowe <richlowe@richlowe.net>2011-11-05 19:54:25 -0400
commit2a77e579bca0aa9a6744c0a7c54570a1c099c2b5 (patch)
tree55ece5057cb911ef4abfbf3b97a28145fa2bd164 /usr/src/uts/intel/dtrace/fbt.c
parent74903488fefa3e2ff7c8fa8dbf2df9b1049e8718 (diff)
downloadillumos-joyent-2a77e579bca0aa9a6744c0a7c54570a1c099c2b5.tar.gz
fbt: Ignore modules with parent label mismatches
FBT also loads parent modules when determining function argument types. As with libdtrace, ignore any module whose actual label doesn't match the parent label recorded in the child.
Diffstat (limited to 'usr/src/uts/intel/dtrace/fbt.c')
-rw-r--r--usr/src/uts/intel/dtrace/fbt.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/usr/src/uts/intel/dtrace/fbt.c b/usr/src/uts/intel/dtrace/fbt.c
index b9353bd30c..513acfd5db 100644
--- a/usr/src/uts/intel/dtrace/fbt.c
+++ b/usr/src/uts/intel/dtrace/fbt.c
@@ -629,6 +629,11 @@ fbt_getargdesc(void *arg, dtrace_id_t id, void *parg, dtrace_argdesc_t *desc)
goto err;
}
+ if (strcmp(ctf_label_topmost(pfp), ctf_parent_label(fp)) != 0) {
+ ctf_close(pfp);
+ goto err;
+ }
+
if (ctf_import(fp, pfp) != 0) {
ctf_close(pfp);
goto err;