summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon Lewis <truckman@FreeBSD.org>2006-01-22 19:37:02 +0000
committerDon Lewis <truckman@FreeBSD.org>2006-01-22 19:37:02 +0000
commit1dd5fc0fde663872868dbd5720c49a582b8e837d (patch)
tree1f137df98706250ca8a0f67306a482b45f352e82
parentf4c595b79445d309e3122865019264a5d78d1284 (diff)
Notes
-rw-r--r--sys/kern/vfs_extattr.c2
-rw-r--r--sys/kern/vfs_lookup.c2
-rw-r--r--sys/kern/vfs_syscalls.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
index 98ee355e9b26..2d61977832b1 100644
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -1633,7 +1633,7 @@ restart:
bwillwrite();
NDINIT(&nd, DELETE, LOCKPARENT | LOCKLEAF | MPSAFE, pathseg, path, td);
if ((error = namei(&nd)) != 0)
- return (error);
+ return (error == EINVAL ? EPERM : error);
vfslocked = NDHASGIANT(&nd);
vp = nd.ni_vp;
if (vp->v_type == VDIR)
diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c
index 55c558b12f61..8ad90bbcf7c9 100644
--- a/sys/kern/vfs_lookup.c
+++ b/sys/kern/vfs_lookup.c
@@ -483,7 +483,7 @@ dirloop:
if (cnp->cn_flags & ISDOTDOT) {
if ((cnp->cn_flags & ISLASTCN) != 0 &&
(cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) {
- error = EPERM;
+ error = EINVAL;
goto bad;
}
for (;;) {
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index 98ee355e9b26..2d61977832b1 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -1633,7 +1633,7 @@ restart:
bwillwrite();
NDINIT(&nd, DELETE, LOCKPARENT | LOCKLEAF | MPSAFE, pathseg, path, td);
if ((error = namei(&nd)) != 0)
- return (error);
+ return (error == EINVAL ? EPERM : error);
vfslocked = NDHASGIANT(&nd);
vp = nd.ni_vp;
if (vp->v_type == VDIR)