From owner-freebsd-current Mon Oct 20 18:39:34 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id SAA07356 for current-outgoing; Mon, 20 Oct 1997 18:39:34 -0700 (PDT) (envelope-from owner-freebsd-current) Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.5.84]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id SAA07337 for ; Mon, 20 Oct 1997 18:39:16 -0700 (PDT) (envelope-from tlambert@usr08.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.8.7/8.8.7) id SAA27685; Mon, 20 Oct 1997 18:37:30 -0700 (MST) Received: from usr08.primenet.com(206.165.6.208) via SMTP by smtp03.primenet.com, id smtpd027680; Mon Oct 20 18:37:24 1997 Received: (from tlambert@localhost) by usr08.primenet.com (8.8.5/8.8.5) id SAA24623; Mon, 20 Oct 1997 18:37:21 -0700 (MST) From: Terry Lambert Message-Id: <199710210137.SAA24623@usr08.primenet.com> Subject: Re: lockmgr panic To: bde@zeta.org.au (Bruce Evans) Date: Tue, 21 Oct 1997 01:37:21 +0000 (GMT) Cc: freebsd-current@FreeBSD.ORG, j@uriah.heep.sax.de In-Reply-To: <199710160509.PAA08005@godzilla.zeta.org.au> from "Bruce Evans" at Oct 16, 97 03:09:25 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > >Speaking of bandaids, would anybody mind me committing Mr. KATO's > >fix/hack? (Of course, unless he's going to commit it himself.) The > >patch seems to solve the vn(4) lockmgr problem. > > I think it substitutes panics with deadlock possibilities. Perhaps > the deadlocks are rare. > > >I haven't made a release on a 2.2.5-BETA system lately. If the > >problem there is the same, i would vote for moving the fix there as > > I think the problem is the same but the symptoms are worse - endless > recursion and at best a panic for a double fault. The recursion is only one deep. The only failure case I could sww was if you were paging to the vn device that was locked. That's can't happen *AND* hit that code path, since that code path requires that a disklabel and a filesystem be present on the vn device (and therefore not swap). You *might* be able to trigger it by vnconfiging a vnode device on an fs on a vnode device; I haven't followed the code path in that case. I think that particular case is really unlikely. See my analysis following the original posting of the patch; I think the patch is good, and the problem is in the way the locking in VOP_ADVLOCK is implemented as a call-down interface. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.