summaryrefslogtreecommitdiff
path: root/sys/kern/vfs_syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/vfs_syscalls.c')
-rw-r--r--sys/kern/vfs_syscalls.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index a3ef36f439780..4d40f35099308 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -2032,25 +2032,26 @@ vn_access(vp, user_flags, cred, td)
struct ucred *cred;
struct thread *td;
{
- int error, flags;
+ int error;
+ accmode_t accmode;
/* Flags == 0 means only check for existence. */
error = 0;
if (user_flags) {
- flags = 0;
+ accmode = 0;
if (user_flags & R_OK)
- flags |= VREAD;
+ accmode |= VREAD;
if (user_flags & W_OK)
- flags |= VWRITE;
+ accmode |= VWRITE;
if (user_flags & X_OK)
- flags |= VEXEC;
+ accmode |= VEXEC;
#ifdef MAC
- error = mac_vnode_check_access(cred, vp, flags);
+ error = mac_vnode_check_access(cred, vp, accmode);
if (error)
return (error);
#endif
- if ((flags & VWRITE) == 0 || (error = vn_writechk(vp)) == 0)
- error = VOP_ACCESS(vp, flags, cred, td);
+ if ((accmode & VWRITE) == 0 || (error = vn_writechk(vp)) == 0)
+ error = VOP_ACCESS(vp, accmode, cred, td);
}
return (error);
}
@@ -4349,7 +4350,8 @@ fhopen(td, uap)
struct flock lf;
struct file *fp;
register struct filedesc *fdp = p->p_fd;
- int fmode, mode, error, type;
+ int fmode, error, type;
+ accmode_t accmode;
struct file *nfp;
int vfslocked;
int indx;
@@ -4391,7 +4393,7 @@ fhopen(td, uap)
error = EOPNOTSUPP;
goto bad;
}
- mode = 0;
+ accmode = 0;
if (fmode & (FWRITE | O_TRUNC)) {
if (vp->v_type == VDIR) {
error = EISDIR;
@@ -4400,19 +4402,19 @@ fhopen(td, uap)
error = vn_writechk(vp);
if (error)
goto bad;
- mode |= VWRITE;
+ accmode |= VWRITE;
}
if (fmode & FREAD)
- mode |= VREAD;
+ accmode |= VREAD;
if (fmode & O_APPEND)
- mode |= VAPPEND;
+ accmode |= VAPPEND;
#ifdef MAC
- error = mac_vnode_check_open(td->td_ucred, vp, mode);
+ error = mac_vnode_check_open(td->td_ucred, vp, accmode);
if (error)
goto bad;
#endif
- if (mode) {
- error = VOP_ACCESS(vp, mode, td->td_ucred, td);
+ if (accmode) {
+ error = VOP_ACCESS(vp, accmode, td->td_ucred, td);
if (error)
goto bad;
}