svn commit: r232383 - head/sys/fs/nullfs

Konstantin Belousov kib at FreeBSD.org
Fri Mar 2 09:48:47 UTC 2012


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);


More information about the svn-src-all mailing list