Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Mar 2012 09:48:47 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r232383 - head/sys/fs/nullfs
Message-ID:  <201203020948.q229mlsm023421@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Fri Mar  2 09:48:46 2012
New Revision: 232383
URL: http://svn.freebsd.org/changeset/base/232383

Log:
  Do not expose unlocked unconstructed nullfs vnode on mount list.
  Lock the native nullfs vnode lock before switching the locks.
  
  Tested by:	pho
  MFC after:	1 week

Modified:
  head/sys/fs/nullfs/null_subr.c

Modified: head/sys/fs/nullfs/null_subr.c
==============================================================================
--- head/sys/fs/nullfs/null_subr.c	Fri Mar  2 09:30:54 2012	(r232382)
+++ head/sys/fs/nullfs/null_subr.c	Fri Mar  2 09:48:46 2012	(r232383)
@@ -172,12 +172,12 @@ static void
 null_destroy_proto(struct vnode *vp, void *xp)
 {
 
+	lockmgr(&vp->v_lock, LK_EXCLUSIVE, NULL);
 	VI_LOCK(vp);
 	vp->v_data = NULL;
 	vp->v_vnlock = &vp->v_lock;
 	vp->v_op = &dead_vnodeops;
 	VI_UNLOCK(vp);
-	(void) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
 	vgone(vp);
 	vput(vp);
 	free(xp, M_NULLFSNODE);



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