diff options
author | gpalmer <gpalmer@FreeBSD.org> | 1997-03-07 07:42:41 +0000 |
---|---|---|
committer | gpalmer <gpalmer@FreeBSD.org> | 1997-03-07 07:42:41 +0000 |
commit | 7293d8e7d62cc304bd645cea07696ceb5cf71e41 (patch) | |
tree | 279c606f98bb5517fc436c54597281260fdfc69b /sys | |
parent | 62d7ba8abfeb9f9037305ee9b0dcfb89762843ea (diff) | |
download | FreeBSD-src-7293d8e7d62cc304bd645cea07696ceb5cf71e41.zip FreeBSD-src-7293d8e7d62cc304bd645cea07696ceb5cf71e41.tar.gz |
Fix (I hope) the NFS hole. This is only compile tested.
Submitted by: (partly) davids@SECNET.COM via BUGTRAQ
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/vfs_vnops.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 77b0430..ed3a4d9 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94 - * $Id$ + * $Id: vfs_vnops.c,v 1.30 1997/02/22 09:39:36 peter Exp $ */ #include <sys/param.h> @@ -411,7 +411,12 @@ vn_stat(vp, sb, p) sb->st_ctimespec = vap->va_ctime; sb->st_blksize = vap->va_blocksize; sb->st_flags = vap->va_flags; - sb->st_gen = vap->va_gen; + if (suser (p->p_cred->pc_ucred, &p->p_acflag)) { + sb->st_gen = 0; + } else { + sb->st_gen = vap->va_gen; + } + #if (S_BLKSIZE == 512) /* Optimize this case */ sb->st_blocks = vap->va_bytes >> 9; |