diff options
author | phk <phk@FreeBSD.org> | 2003-06-22 08:41:43 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-06-22 08:41:43 +0000 |
commit | c81c59299bd255eb5ab7510c9e84e9c54b8003d0 (patch) | |
tree | c8262a3d430fc3cafab7fb6aec641ce293cd3361 /sys/kern/subr_acl_posix1e.c | |
parent | 4a223af282e5f60223c443ce3755f565f9db2465 (diff) | |
download | FreeBSD-src-c81c59299bd255eb5ab7510c9e84e9c54b8003d0.zip FreeBSD-src-c81c59299bd255eb5ab7510c9e84e9c54b8003d0.tar.gz |
Add a f_vnode field to struct file.
Several of the subtypes have an associated vnode which is used for
stuff like the f*() functions.
By giving the vnode a speparate field, a number of checks for the specific
subtype can be replaced simply with a check for f_vnode != NULL, and
we can later free f_data up to subtype specific use.
At this point in time, f_data still points to the vnode, so any code I
might have overlooked will still work.
Diffstat (limited to 'sys/kern/subr_acl_posix1e.c')
-rw-r--r-- | sys/kern/subr_acl_posix1e.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/subr_acl_posix1e.c b/sys/kern/subr_acl_posix1e.c index d1bce92..5a60f78 100644 --- a/sys/kern/subr_acl_posix1e.c +++ b/sys/kern/subr_acl_posix1e.c @@ -781,7 +781,7 @@ __acl_get_fd(struct thread *td, struct __acl_get_fd_args *uap) mtx_lock(&Giant); error = getvnode(td->td_proc->p_fd, uap->filedes, &fp); if (error == 0) { - error = vacl_get_acl(td, fp->f_data, uap->type, uap->aclp); + error = vacl_get_acl(td, fp->f_vnode, uap->type, uap->aclp); fdrop(fp, td); } mtx_unlock(&Giant); @@ -802,7 +802,7 @@ __acl_set_fd(struct thread *td, struct __acl_set_fd_args *uap) mtx_lock(&Giant); error = getvnode(td->td_proc->p_fd, uap->filedes, &fp); if (error == 0) { - error = vacl_set_acl(td, fp->f_data, uap->type, uap->aclp); + error = vacl_set_acl(td, fp->f_vnode, uap->type, uap->aclp); fdrop(fp, td); } mtx_unlock(&Giant); @@ -867,7 +867,7 @@ __acl_delete_fd(struct thread *td, struct __acl_delete_fd_args *uap) mtx_lock(&Giant); error = getvnode(td->td_proc->p_fd, uap->filedes, &fp); if (error == 0) { - error = vacl_delete(td, fp->f_data, uap->type); + error = vacl_delete(td, fp->f_vnode, uap->type); fdrop(fp, td); } mtx_unlock(&Giant); @@ -932,7 +932,7 @@ __acl_aclcheck_fd(struct thread *td, struct __acl_aclcheck_fd_args *uap) mtx_lock(&Giant); error = getvnode(td->td_proc->p_fd, uap->filedes, &fp); if (error == 0) { - error = vacl_aclcheck(td, fp->f_data, uap->type, uap->aclp); + error = vacl_aclcheck(td, fp->f_vnode, uap->type, uap->aclp); fdrop(fp, td); } mtx_unlock(&Giant); |