summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorBryan Cantrill <bryan@joyent.com>2011-01-20 15:03:16 -0800
committerBryan Cantrill <bryan@joyent.com>2011-01-20 15:03:16 -0800
commit395117ab08c4c3013ba1a2d9a9fb6fe06f8572bf (patch)
tree74fc774ec3b46482789fe183318eac4d931db71b /usr/src
parent072191735060abfbe47b31f446743aaa9115b06f (diff)
downloadillumos-joyent-395117ab08c4c3013ba1a2d9a9fb6fe06f8572bf.tar.gz
INTRO-115 USDT global zone bug
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/dtrace/dtrace.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr/src/uts/common/dtrace/dtrace.c b/usr/src/uts/common/dtrace/dtrace.c
index 2a9df6d403..eb9ccfcd0c 100644
--- a/usr/src/uts/common/dtrace/dtrace.c
+++ b/usr/src/uts/common/dtrace/dtrace.c
@@ -10851,10 +10851,12 @@ dtrace_enabling_matchall(void)
* block pending our completion.
*/
for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) {
- cred_t *cr = enab->dten_vstate->dtvs_state->dts_cred.dcr_cred;
+ dtrace_cred_t *dcr = &enab->dten_vstate->dtvs_state->dts_cred;
+ cred_t *cr = dcr->dcr_cred;
+ zoneid_t zone = cr != NULL ? crgetzoneid(cr) : 0;
- if (INGLOBALZONE(curproc) ||
- cr != NULL && getzoneid() == crgetzoneid(cr))
+ if ((dcr->dcr_visible & DTRACE_CRV_ALLZONE) || (cr != NULL &&
+ (zone == GLOBAL_ZONEID || getzoneid() == zone)))
(void) dtrace_enabling_match(enab, NULL);
}