summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2009-02-17 22:49:58 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2009-02-17 22:49:58 +0000
commit24907ae356e5e01b64408dc028d821676f8de218 (patch)
tree999b0832f5cf1b727320f509e8b8c6574e95269c
parent48fb501ef250c1b8eba3d14661aed0186da7d2ca (diff)
Notes
-rw-r--r--sys/kern/kern_proc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index a591162e56e0..bb01d9d99314 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -1646,12 +1646,11 @@ sysctl_kern_proc_vmmap(SYSCTL_HANDLER_ARGS)
kve->kve_shadow_count = obj->shadow_count;
VM_OBJECT_UNLOCK(obj);
if (vp != NULL) {
- vfslocked = VFS_LOCK_GIANT(vp->v_mount);
- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY,
- curthread);
vn_fullpath(curthread, vp, &fullpath,
&freepath);
cred = curthread->td_ucred;
+ vfslocked = VFS_LOCK_GIANT(vp->v_mount);
+ vn_lock(vp, LK_SHARED | LK_RETRY, curthread);
if (VOP_GETATTR(vp, &va, cred, curthread) == 0) {
kve->kve_fileid = va.va_fileid;
kve->kve_fsid = va.va_fsid;