summaryrefslogtreecommitdiffstats
path: root/sys/fs/procfs
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1999-05-04 08:01:55 +0000
committerphk <phk@FreeBSD.org>1999-05-04 08:01:55 +0000
commit29d1bb23122ed7523f67a9ed911100238c519b8b (patch)
tree3ae5829fb0d1d779a9486c3a161bb15bed19965c /sys/fs/procfs
parent49cc1d7cc90d995f763f0f6f92b6a60ddadbc4df (diff)
downloadFreeBSD-src-29d1bb23122ed7523f67a9ed911100238c519b8b.zip
FreeBSD-src-29d1bb23122ed7523f67a9ed911100238c519b8b.tar.gz
Make the type and map files claim 0 bytes size. Tar doesn't get confused
now, but doesn't store any data eiter. I wonder if we shouldn't claim to be fifos instead...
Diffstat (limited to 'sys/fs/procfs')
-rw-r--r--sys/fs/procfs/procfs_vnops.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/sys/fs/procfs/procfs_vnops.c b/sys/fs/procfs/procfs_vnops.c
index f229a69..d6f2185 100644
--- a/sys/fs/procfs/procfs_vnops.c
+++ b/sys/fs/procfs/procfs_vnops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95
*
- * $Id: procfs_vnops.c,v 1.66 1999/04/28 11:37:21 phk Exp $
+ * $Id: procfs_vnops.c,v 1.67 1999/04/30 13:04:21 phk Exp $
*/
/*
@@ -515,6 +515,12 @@ procfs_getattr(ap)
* a per-file stat function in the corresponding .c file.
*/
+ vap->va_nlink = 1;
+ if (procp) {
+ vap->va_uid = procp->p_ucred->cr_uid;
+ vap->va_gid = procp->p_ucred->cr_gid;
+ }
+
switch (pfs->pfs_type) {
case Proot:
/*
@@ -528,7 +534,6 @@ procfs_getattr(ap)
case Pcurproc: {
char buf[16]; /* should be enough */
- vap->va_nlink = 1;
vap->va_uid = 0;
vap->va_gid = 0;
vap->va_size = vap->va_bytes =
@@ -538,8 +543,6 @@ procfs_getattr(ap)
case Pproc:
vap->va_nlink = nproc_targets;
- vap->va_uid = procp->p_ucred->cr_uid;
- vap->va_gid = procp->p_ucred->cr_gid;
vap->va_size = vap->va_bytes = DEV_BSIZE;
break;
@@ -548,7 +551,6 @@ procfs_getattr(ap)
break;
case Pmem:
- vap->va_nlink = 1;
/*
* If we denied owner access earlier, then we have to
* change the owner to root - otherwise 'ps' and friends
@@ -561,27 +563,22 @@ procfs_getattr(ap)
vap->va_gid = KMEM_GROUP;
break;
- case Ptype:
- case Pmap:
case Pregs:
vap->va_bytes = vap->va_size = sizeof(struct reg);
- vap->va_nlink = 1;
- vap->va_uid = procp->p_ucred->cr_uid;
- vap->va_gid = procp->p_ucred->cr_gid;
break;
case Pfpregs:
vap->va_bytes = vap->va_size = sizeof(struct fpreg);
+ break;
+ case Ptype:
+ case Pmap:
case Pctl:
case Pstatus:
case Pnote:
case Pnotepg:
case Pcmdline:
case Prlimit:
- vap->va_nlink = 1;
- vap->va_uid = procp->p_ucred->cr_uid;
- vap->va_gid = procp->p_ucred->cr_gid;
break;
default:
OpenPOWER on IntegriCloud