diff options
| author | Bryan Cantrill <bryan@joyent.com> | 2011-01-20 15:03:16 -0800 |
|---|---|---|
| committer | Bryan Cantrill <bryan@joyent.com> | 2011-01-20 15:03:16 -0800 |
| commit | 395117ab08c4c3013ba1a2d9a9fb6fe06f8572bf (patch) | |
| tree | 74fc774ec3b46482789fe183318eac4d931db71b /usr/src | |
| parent | 072191735060abfbe47b31f446743aaa9115b06f (diff) | |
| download | illumos-joyent-395117ab08c4c3013ba1a2d9a9fb6fe06f8572bf.tar.gz | |
INTRO-115 USDT global zone bug
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/uts/common/dtrace/dtrace.c | 8 |
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); } |
