Module Name: src Committed By: hannken Date: Thu Jan 8 12:06:50 UTC 2015
Modified Files: src/sys/kern: vfs_mount.c Log Message: vfs_vnode_iterator_destroy: set v_usecount of marker to zero to prevent an assertion from vnfree(). To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/sys/kern/vfs_mount.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/vfs_mount.c diff -u src/sys/kern/vfs_mount.c:1.31 src/sys/kern/vfs_mount.c:1.32 --- src/sys/kern/vfs_mount.c:1.31 Fri Nov 14 10:09:50 2014 +++ src/sys/kern/vfs_mount.c Thu Jan 8 12:06:50 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: vfs_mount.c,v 1.31 2014/11/14 10:09:50 manu Exp $ */ +/* $NetBSD: vfs_mount.c,v 1.32 2015/01/08 12:06:50 hannken Exp $ */ /*- * Copyright (c) 1997-2011 The NetBSD Foundation, Inc. @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vfs_mount.c,v 1.31 2014/11/14 10:09:50 manu Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vfs_mount.c,v 1.32 2015/01/08 12:06:50 hannken Exp $"); #define _VFS_VNODE_PRIVATE @@ -365,8 +365,10 @@ vfs_vnode_iterator_destroy(struct vnode_ mutex_enter(&mntvnode_lock); KASSERT(ISSET(mvp->v_iflag, VI_MARKER)); - if (mvp->v_usecount != 0) + if (mvp->v_usecount != 0) { TAILQ_REMOVE(&mvp->v_mount->mnt_vnodelist, mvp, v_mntvnodes); + mvp->v_usecount = 0; + } mutex_exit(&mntvnode_lock); vnfree(mvp); }