Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Dec 2003 18:44:05 -0500 (EST)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Don Lewis <truckman@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: vn_fullpath: 0xc85e24a0 is not locked but should be
Message-ID:  <20031212184001.C4201-100000@mail.chesapeake.net>
In-Reply-To: <200312121835.hBCIZZeF058658@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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
> >> @@ -70,7 +70,9 @@
> >>  	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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031212184001.C4201-100000>