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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to