From owner-freebsd-current@FreeBSD.ORG Fri Dec 12 05:37:46 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4237116A4CE for ; Fri, 12 Dec 2003 05:37:46 -0800 (PST) Received: from white.imgsrc.co.jp (ns.imgsrc.co.jp [210.226.20.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BCD943D1F for ; Fri, 12 Dec 2003 05:37:43 -0800 (PST) (envelope-from kuriyama@imgsrc.co.jp) Received: from localhost (localhost [127.0.0.1]) by white.imgsrc.co.jp (Postfix) with ESMTP id C0AF128408D for ; Fri, 12 Dec 2003 22:37:40 +0900 (JST) Received: from black.imgsrc.co.jp (black.imgsrc.co.jp [2001:218:422:2::130]) by white.imgsrc.co.jp (Postfix) with ESMTP id ADA2328402D for ; Fri, 12 Dec 2003 22:37:39 +0900 (JST) Received: from black.imgsrc.co.jp (black.imgsrc.co.jp [2001:218:422:2::130]) by black.imgsrc.co.jp (Postfix) with ESMTP id 678861E4A62 for ; Fri, 12 Dec 2003 22:37:39 +0900 (JST) Date: Fri, 12 Dec 2003 22:37:39 +0900 Message-ID: <7mwu9217j0.wl@black.imgsrc.co.jp> From: Jun Kuriyama To: freebsd-current@freebsd.org In-Reply-To: <20031211.231503.48817988.imp@bsdimp.com> References: <7m7k123dci.wl@black.imgsrc.co.jp> <20031211.231503.48817988.imp@bsdimp.com> User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 Emacs/21.3 (i386--freebsd) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII X-Virus-Scanned: by AMaViS snapshot-20020531 Subject: Re: vn_fullpath: 0xc85e24a0 is not locked but should be X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Dec 2003 13:37:46 -0000 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. At Thu, 11 Dec 2003 23:15:03 -0700 (MST), M. Warner Losh wrote: > : # Why I got so many panics? :-( > > Because after you get 10,000 of them, you are forced to serve on core > :-) I hope I won't get more. :-) -- Jun Kuriyama // IMG SRC, Inc. // FreeBSD Project