Index: kern_exec.c =================================================================== RCS file: /usr/store/mlaier/fcvs/src/sys/kern/kern_exec.c,v retrieving revision 1.270 diff -u -r1.270 kern_exec.c --- kern_exec.c 3 May 2005 10:55:05 -0000 1.270 +++ kern_exec.c 3 May 2005 16:13:31 -0000 @@ -294,7 +294,7 @@ #endif struct vnode *textvp = NULL; int credential_changing; - int vfslocked; + int vfslocked = 0; int textset; #ifdef MAC struct label *interplabel = NULL; @@ -336,10 +336,8 @@ #ifdef MAC error = mac_execve_enter(imgp, mac_p); - if (error) { - mtx_lock(&Giant); + if (error) goto exec_fail; - } #endif imgp->image_header = NULL; @@ -353,7 +351,6 @@ UIO_SYSSPACE, args->fname, td); interpret: - vfslocked = 0; error = namei(ndp); if (error) goto exec_fail; @@ -763,7 +760,7 @@ if (interplabel != NULL) mac_vnode_label_free(interplabel); #endif - mtx_unlock(&Giant); + VFS_UNLOCK_GIANT(vfslocked); exit1(td, W_EXITCODE(0, SIGABRT)); /* NOT REACHED */ error = 0;