diff options
author | attilio <attilio@FreeBSD.org> | 2008-08-28 15:23:18 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2008-08-28 15:23:18 +0000 |
commit | dbf35e279f37ad4a573bf93923d141cb4a454c7d (patch) | |
tree | 61fe2ab5660fec327061e18eda0ed8c65276f262 /sys/kern/vfs_default.c | |
parent | fb7f3b6363b61cead7eb5e94ac7f816358fc19ab (diff) | |
download | FreeBSD-src-dbf35e279f37ad4a573bf93923d141cb4a454c7d.zip FreeBSD-src-dbf35e279f37ad4a573bf93923d141cb4a454c7d.tar.gz |
Decontextualize the couplet VOP_GETATTR / VOP_SETATTR as the passed thread
was always curthread and totally unuseful.
Tested by: Giovanni Trematerra <giovanni dot trematerra at gmail dot com>
Diffstat (limited to 'sys/kern/vfs_default.c')
-rw-r--r-- | sys/kern/vfs_default.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 280623e..d46bf81 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -208,13 +208,15 @@ vop_nostrategy (struct vop_strategy_args *ap) int vop_stdadvlock(struct vop_advlock_args *ap) { - struct vnode *vp = ap->a_vp; - struct thread *td = curthread; + struct vnode *vp; + struct ucred *cred; struct vattr vattr; int error; + vp = ap->a_vp; + cred = curthread->td_ucred; vn_lock(vp, LK_SHARED | LK_RETRY); - error = VOP_GETATTR(vp, &vattr, td->td_ucred, td); + error = VOP_GETATTR(vp, &vattr, cred); VOP_UNLOCK(vp, 0); if (error) return (error); @@ -225,13 +227,15 @@ vop_stdadvlock(struct vop_advlock_args *ap) int vop_stdadvlockasync(struct vop_advlockasync_args *ap) { - struct vnode *vp = ap->a_vp; - struct thread *td = curthread; + struct vnode *vp; + struct ucred *cred; struct vattr vattr; int error; + vp = ap->a_vp; + cred = curthread->td_ucred; vn_lock(vp, LK_SHARED | LK_RETRY); - error = VOP_GETATTR(vp, &vattr, td->td_ucred, td); + error = VOP_GETATTR(vp, &vattr, cred); VOP_UNLOCK(vp, 0); if (error) return (error); |