From owner-p4-projects Mon Sep 30 13:42:46 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 824C437B404; Mon, 30 Sep 2002 13:42:44 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0B01137B401 for ; Mon, 30 Sep 2002 13:42:42 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 45DA543E88 for ; Mon, 30 Sep 2002 13:42:41 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from freefall.freebsd.org (perforce@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g8UKgfCo099023 for ; Mon, 30 Sep 2002 13:42:41 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g8UKgfqk099020 for perforce@freebsd.org; Mon, 30 Sep 2002 13:42:41 -0700 (PDT) Date: Mon, 30 Sep 2002 13:42:41 -0700 (PDT) Message-Id: <200209302042.g8UKgfqk099020@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson Subject: PERFORCE change 18401 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=18401 Change 18401 by rwatson@rwatson_curry on 2002/09/30 13:41:51 Initialize MAC label after releasing the vnode interlock but before sharing the vnode reference with other potential consumers. This prevents sleeping while holding the interlock. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/vfs_subr.c#38 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/vfs_subr.c#38 (text+ko) ==== @@ -990,14 +990,14 @@ vp->v_tag = tag; vp->v_op = vops; lockinit(&vp->v_lock, PVFS, "vnlock", VLKTIMEOUT, LK_NOPAUSE); -#ifdef MAC - mac_init_vnode(vp); -#endif *vpp = vp; vp->v_usecount = 1; vp->v_data = 0; vp->v_cachedid = -1; VI_UNLOCK(vp); +#ifdef MAC + mac_init_vnode(vp); +#endif insmntque(vp, mp); return (0); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message