On Fri, 12 Dec 2003, Don Lewis wrote: > On 12 Dec, Jun Kuriyama wrote: > > At Thu, 11 Dec 2003 23:14:50 -0500 (EST), > > Robert Watson wrote: > >> Ah, you're still runing with the VFS lock debugging :-). Indeed, it looks > >> like a vn_lock() and unlock of p->p_textvp is missing in > >> procfs_doprocfile(), even though that likely would violate the VFS lock > >> order. The attached (untested) patch might well fix it, but might not be > >> right -- I'm not sure that curthread holds a valid reference to > >> p->p_textvp that can't evaporate during these operations. I'm not sure > >> the proc reference stuff protects us properly here, but John would know > >> (CC'd). > >> > >> Index: procfs.c > >> =================================================================== > >> RCS file: /home/ncvs/src/sys/fs/procfs/procfs.c,v > >> retrieving revision 1.9 > >> diff -u -r1.9 procfs.c > >> --- procfs.c 17 Apr 2003 22:12:12 -0000 1.9 > >> +++ procfs.c 12 Dec 2003 04:13:10 -0000 > >> _at__at_ -70,7 +70,9 _at__at_ > >> char *fullpath = "unknown"; > >> char *freepath = NULL; > >> > >> + vn_lock(p->p_textvp, LK_EXCLUSIVE | LK_RETRY, td); > >> vn_fullpath(td, p->p_textvp, &fullpath, &freepath); > >> + VOP_UNLOCK(p->p_textvp, 0, td); > >> sbuf_printf(sb, "%s", fullpath); > >> if (freepath) > >> free(freepath, M_TEMP); > > > > Okay, I'll wait without DEBUG_VFS_LOCKS until fix is committed. > > DEBUG_VFS_LOCKS is quite usable as long as you don't run find, tar, etc. > that traverses procfs. This isn't entirely relevant, but I'd like to point out how happy I am that it works even this much. When I started fixing up VFS we couldn't even run init without DEBUG_VFS_LOCKS panicing. It took me a few weeks of hacking to get the system running anything useful with all of these assertions. A lot of other people have put significant effort in along the way as well. I'm very happy to see the progress. Thanks folks. Cheers, Jeff > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Fri Dec 12 2003 - 14:44:11 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:33 UTC