summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/ps/ps.c6
-rw-r--r--usr/src/cmd/ps/ucbps.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/usr/src/cmd/ps/ps.c b/usr/src/cmd/ps/ps.c
index 757785882b..e607dd5644 100644
--- a/usr/src/cmd/ps/ps.c
+++ b/usr/src/cmd/ps/ps.c
@@ -1228,10 +1228,14 @@ static char *
gettty(psinfo_t *psinfo)
{
extern char *_ttyname_dev(dev_t, char *, size_t);
+ static zoneid_t zid = -1;
char devname[TTYNAME_MAX];
char *retval;
- if (psinfo->pr_ttydev == PRNODEV)
+ if (zid == -1)
+ zid = getzoneid();
+
+ if (psinfo->pr_ttydev == PRNODEV || psinfo->pr_zoneid != zid)
return ("?");
if ((retval = devlookup(psinfo->pr_ttydev)) != NULL)
diff --git a/usr/src/cmd/ps/ucbps.c b/usr/src/cmd/ps/ucbps.c
index 4731f260e9..60235e2ae9 100644
--- a/usr/src/cmd/ps/ucbps.c
+++ b/usr/src/cmd/ps/ucbps.c
@@ -65,6 +65,7 @@
#include <stdarg.h>
#include <sys/proc.h>
#include <priv_utils.h>
+#include <zone.h>
#define NTTYS 2 /* max ttys that can be specified with the -t option */
/* only one tty can be specified with SunOS ps */
@@ -803,10 +804,14 @@ static char *
gettty(psinfo_t *psinfo)
{
extern char *_ttyname_dev(dev_t, char *, size_t);
+ static zoneid_t zid = -1;
char devname[TTYNAME_MAX];
char *retval;
- if (psinfo->pr_ttydev == PRNODEV)
+ if (zid == -1)
+ zid = getzoneid();
+
+ if (psinfo->pr_ttydev == PRNODEV || psinfo->pr_zoneid != zid)
return ("?");
if ((retval = devlookup(psinfo->pr_ttydev)) != NULL)