summaryrefslogtreecommitdiffstats
path: root/sys/fs/fdescfs
diff options
context:
space:
mode:
authormux <mux@FreeBSD.org>2002-10-26 18:16:19 +0000
committermux <mux@FreeBSD.org>2002-10-26 18:16:19 +0000
commit81cc70c4697b5eed1da3fde2673d75c1f267f9f4 (patch)
treefb1eb1db31305e4ef9fb1efdb2a422cdb460e4ad /sys/fs/fdescfs
parentd2ac0d86f6934037e4e9ae258ecf54fc41d064e8 (diff)
downloadFreeBSD-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/fs/fdescfs')
-rw-r--r--sys/fs/fdescfs/fdesc_vnops.c3
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;
}
OpenPOWER on IntegriCloud