Hello, Playing with nwfs I found that kernel execve routine calls VOP_OPEN without following VOP_CLOSE. Instead it just do vrele which causes call to VOP_INACTIVE. For other cases it seems that OPEN/CLOSE are always called in pair.
This doesn't looks like a big problem because code in VOP_INACTIVE should check for an unclosed files/directories, but may be the following will be more correct: --- kern_exec.c Sun Apr 25 14:10:54 1999 +++ kern_exec.c.new Fri May 21 22:26:16 1999 @@ -185,6 +185,7 @@ goto exec_fail_dealloc; if (imgp->interpreted) { exec_unmap_first_page(imgp); + vn_close(ndp->ni_vp, FREAD, p->p_ucred, p); /* free old vnode and name buffer */ vrele(ndp->ni_vp); zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); -- Boris Popov To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-hackers" in the body of the message