aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorChristian S.J. Peron <csjp@FreeBSD.org>2008-08-12 21:27:48 +0000
committerChristian S.J. Peron <csjp@FreeBSD.org>2008-08-12 21:27:48 +0000
commitded7d39cb9b0a751b27da2ee4d9d3022869e93d4 (patch)
tree02d9d84ae32e21c8272c4ff8c9a3e0d2e694cc08 /sys/kern/kern_exec.c
parented6c3e478f8f9dbf460360f1d3c2fc4db2106e9a (diff)
downloadsrc-ded7d39cb9b0a751b27da2ee4d9d3022869e93d4.tar.gz
src-ded7d39cb9b0a751b27da2ee4d9d3022869e93d4.zip
Notes
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index b4f3ccc080fc..09979493d570 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -514,6 +514,11 @@ interpret:
}
/*
+ * NB: We unlock the vnode here because it is believed that none
+ * of the sv_copyout_strings/sv_fixup operations require the vnode.
+ */
+ VOP_UNLOCK(imgp->vp, 0);
+ /*
* Copy out strings (args and env) and initialize stack base
*/
if (p->p_sysent->sv_copyout_strings)
@@ -550,7 +555,6 @@ interpret:
}
/* close files on exec */
- VOP_UNLOCK(imgp->vp, 0);
fdcloseexec(td);
vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY);