summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/dtrace/sdt.c
diff options
context:
space:
mode:
authorBryan Cantrill <bryan@joyent.com>2012-06-04 06:54:42 +0000
committerRichard Lowe <richlowe@richlowe.net>2014-02-25 12:53:02 -0500
commitb0f673c4626e4cb1db7785287eaeed2731dfefe8 (patch)
treed75fad195a057999974278cf1742080d6eebf350 /usr/src/uts/intel/dtrace/sdt.c
parent3c7284bd3243d42a710edac3a15f6019b4c849be (diff)
downloadillumos-joyent-b0f673c4626e4cb1db7785287eaeed2731dfefe8.tar.gz
2915 DTrace in a zone should see "cpu", "curpsinfo", et al
2916 DTrace in a zone should be able to access fds[] 2917 DTrace in a zone should have limited provider access Reviewed by: Joshua M. Clulow <josh@sysmgr.org> Reviewed by: Adam Leventhal <ahl@delphix.com> Approved by: Gordon Ross <gwr@nexenta.com>
Diffstat (limited to 'usr/src/uts/intel/dtrace/sdt.c')
-rw-r--r--usr/src/uts/intel/dtrace/sdt.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/usr/src/uts/intel/dtrace/sdt.c b/usr/src/uts/intel/dtrace/sdt.c
index 38be2233b1..27cb19e06c 100644
--- a/usr/src/uts/intel/dtrace/sdt.c
+++ b/usr/src/uts/intel/dtrace/sdt.c
@@ -23,6 +23,9 @@
* Use is subject to license terms.
*/
+/*
+ * Copyright (c) 2012, Joyent, Inc. All rights reserved.
+ */
#include <sys/modctl.h>
#include <sys/sunddi.h>
@@ -419,9 +422,19 @@ sdt_attach(dev_info_t *devi, ddi_attach_cmd_t cmd)
dtrace_invop_add(sdt_invop);
for (prov = sdt_providers; prov->sdtp_name != NULL; prov++) {
+ uint32_t priv;
+
+ if (prov->sdtp_priv == DTRACE_PRIV_NONE) {
+ priv = DTRACE_PRIV_KERNEL;
+ sdt_pops.dtps_mode = NULL;
+ } else {
+ priv = prov->sdtp_priv;
+ ASSERT(priv == DTRACE_PRIV_USER);
+ sdt_pops.dtps_mode = sdt_mode;
+ }
+
if (dtrace_register(prov->sdtp_name, prov->sdtp_attr,
- DTRACE_PRIV_KERNEL, NULL,
- &sdt_pops, prov, &prov->sdtp_id) != 0) {
+ priv, NULL, &sdt_pops, prov, &prov->sdtp_id) != 0) {
cmn_err(CE_WARN, "failed to register sdt provider %s",
prov->sdtp_name);
}