summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_extattr.c
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2002-02-10 21:44:30 +0000
committerrwatson <rwatson@FreeBSD.org>2002-02-10 21:44:30 +0000
commit2bbae54d18d15c9c93f9567d79fe63538dd04bfd (patch)
tree069df193b86466f9270600030958b981aceda286 /sys/kern/vfs_extattr.c
parentef612b7ce49f905c66a8d08360c010cbcbd07aba (diff)
downloadFreeBSD-src-2bbae54d18d15c9c93f9567d79fe63538dd04bfd.zip
FreeBSD-src-2bbae54d18d15c9c93f9567d79fe63538dd04bfd.tar.gz
Make sure to hold vnode lock when calling into VOP_GETATTR().
Discussed with: mckusick, phk
Diffstat (limited to 'sys/kern/vfs_extattr.c')
-rw-r--r--sys/kern/vfs_extattr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
index 9b623e3..ebd45db 100644
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -1727,7 +1727,9 @@ lseek(td, uap)
offset += fp->f_offset;
break;
case L_XTND:
+ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
error = VOP_GETATTR(vp, &vattr, cred, td);
+ VOP_UNLOCK(vp, 0, td);
if (error)
return (error);
if (noneg &&
OpenPOWER on IntegriCloud