summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_default.c
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2008-08-28 15:23:18 +0000
committerattilio <attilio@FreeBSD.org>2008-08-28 15:23:18 +0000
commitdbf35e279f37ad4a573bf93923d141cb4a454c7d (patch)
tree61fe2ab5660fec327061e18eda0ed8c65276f262 /sys/kern/vfs_default.c
parentfb7f3b6363b61cead7eb5e94ac7f816358fc19ab (diff)
downloadFreeBSD-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.c16
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);
OpenPOWER on IntegriCloud