summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/dtrace/dcpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/dtrace/dcpc.c')
-rw-r--r--usr/src/uts/common/dtrace/dcpc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/usr/src/uts/common/dtrace/dcpc.c b/usr/src/uts/common/dtrace/dcpc.c
index d4ca1d308b..8fd96cc24c 100644
--- a/usr/src/uts/common/dtrace/dcpc.c
+++ b/usr/src/uts/common/dtrace/dcpc.c
@@ -339,9 +339,13 @@ dcpc_destroy(void *arg, dtrace_id_t id, void *parg)
/*ARGSUSED*/
static int
-dcpc_usermode(void *arg, dtrace_id_t id, void *parg)
+dcpc_mode(void *arg, dtrace_id_t id, void *parg)
{
- return (CPU->cpu_cpcprofile_pc == 0);
+ if (CPU->cpu_cpcprofile_pc == 0) {
+ return (DTRACE_MODE_NOPRIV_DROP | DTRACE_MODE_USER);
+ } else {
+ return (DTRACE_MODE_NOPRIV_DROP | DTRACE_MODE_KERNEL);
+ }
}
static void
@@ -1013,7 +1017,7 @@ static dtrace_pops_t dcpc_pops = {
NULL,
NULL,
NULL,
- dcpc_usermode,
+ dcpc_mode,
dcpc_destroy
};