diff options
author | Richard Lowe <richlowe@richlowe.net> | 2011-11-05 05:32:03 +0000 |
---|---|---|
committer | Richard Lowe <richlowe@richlowe.net> | 2011-11-05 19:54:25 -0400 |
commit | 2a77e579bca0aa9a6744c0a7c54570a1c099c2b5 (patch) | |
tree | 55ece5057cb911ef4abfbf3b97a28145fa2bd164 /usr/src/uts/intel/dtrace/fbt.c | |
parent | 74903488fefa3e2ff7c8fa8dbf2df9b1049e8718 (diff) | |
download | illumos-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.c | 5 |
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; |