diff options
author | mux <mux@FreeBSD.org> | 2002-10-26 18:16:19 +0000 |
---|---|---|
committer | mux <mux@FreeBSD.org> | 2002-10-26 18:16:19 +0000 |
commit | 81cc70c4697b5eed1da3fde2673d75c1f267f9f4 (patch) | |
tree | fb1eb1db31305e4ef9fb1efdb2a422cdb460e4ad /sys | |
parent | d2ac0d86f6934037e4e9ae258ecf54fc41d064e8 (diff) | |
download | FreeBSD-src-81cc70c4697b5eed1da3fde2673d75c1f267f9f4.zip FreeBSD-src-81cc70c4697b5eed1da3fde2673d75c1f267f9f4.tar.gz |
In VOP_LOOKUP, don't deny DELETE and RENAME operations
when ISLASTCN is not set. The actual file which is being
looked up may live in a different filesystem.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/fdescfs/fdesc_vnops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c index c8e00b4..849835d 100644 --- a/sys/fs/fdescfs/fdesc_vnops.c +++ b/sys/fs/fdescfs/fdesc_vnops.c @@ -180,7 +180,8 @@ fdesc_lookup(ap) int error; struct vnode *fvp; - if (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME) { + if ((cnp->cn_flags & ISLASTCN) && + (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) { error = EROFS; goto bad; } |