summaryrefslogtreecommitdiff
path: root/sys/miscfs
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1995-04-15 03:20:31 +0000
committerDavid Greenman <dg@FreeBSD.org>1995-04-15 03:20:31 +0000
commitd7e03b7a8b9bdcfc088c2854a0d4d93e65a693c5 (patch)
tree0f4cddcf07ad02095e451c4bec565342f5ae6a5a /sys/miscfs
parent8efe1172e204f38ba82b4089e84109d4d3d479bd (diff)
Notes
Diffstat (limited to 'sys/miscfs')
-rw-r--r--sys/miscfs/procfs/procfs_vnops.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/miscfs/procfs/procfs_vnops.c b/sys/miscfs/procfs/procfs_vnops.c
index 9155eb5d6cce..1124282c3965 100644
--- a/sys/miscfs/procfs/procfs_vnops.c
+++ b/sys/miscfs/procfs/procfs_vnops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.6 (Berkeley) 2/7/94
*
- * $Id: procfs_vnops.c,v 1.9 1995/04/15 02:30:17 davidg Exp $
+ * $Id: procfs_vnops.c,v 1.10 1995/04/15 02:50:13 davidg Exp $
*/
/*
@@ -432,7 +432,15 @@ procfs_getattr(ap)
ctob(procp->p_vmspace->vm_tsize +
procp->p_vmspace->vm_dsize +
procp->p_vmspace->vm_ssize);
- vap->va_uid = procp->p_ucred->cr_uid;
+ /*
+ * If we denied owner access earlier, then we have to
+ * change the owner to root - otherwise 'ps' and friends
+ * will break even though they are setgid kmem. *SIGH*
+ */
+ if (procp->p_flag & P_SUGID)
+ vap->va_uid = 0;
+ else
+ vap->va_uid = procp->p_ucred->cr_uid;
vap->va_gid = KMEM_GROUP;
break;