diff options
| author | Don Lewis <truckman@FreeBSD.org> | 2006-01-22 19:37:02 +0000 |
|---|---|---|
| committer | Don Lewis <truckman@FreeBSD.org> | 2006-01-22 19:37:02 +0000 |
| commit | 1dd5fc0fde663872868dbd5720c49a582b8e837d (patch) | |
| tree | 1f137df98706250ca8a0f67306a482b45f352e82 | |
| parent | f4c595b79445d309e3122865019264a5d78d1284 (diff) | |
Notes
| -rw-r--r-- | sys/kern/vfs_extattr.c | 2 | ||||
| -rw-r--r-- | sys/kern/vfs_lookup.c | 2 | ||||
| -rw-r--r-- | sys/kern/vfs_syscalls.c | 2 |
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) |
