Module Name: src Committed By: martin Date: Wed Jul 5 15:50:24 UTC 2017
Modified Files: src/sys/miscfs/genfs [netbsd-8]: genfs_io.c Log Message: Pull up following revision(s) (requested by hannken in ticket #84): sys/miscfs/genfs/genfs_io.c: revision 1.70 Add missing check for dead or dying vnode to the entry of genfs_getpages(). To generate a diff of this commit: cvs rdiff -u -r1.68.6.1 -r1.68.6.2 src/sys/miscfs/genfs/genfs_io.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/miscfs/genfs/genfs_io.c diff -u src/sys/miscfs/genfs/genfs_io.c:1.68.6.1 src/sys/miscfs/genfs/genfs_io.c:1.68.6.2 --- src/sys/miscfs/genfs/genfs_io.c:1.68.6.1 Sun Jun 4 20:35:01 2017 +++ src/sys/miscfs/genfs/genfs_io.c Wed Jul 5 15:50:24 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: genfs_io.c,v 1.68.6.1 2017/06/04 20:35:01 bouyer Exp $ */ +/* $NetBSD: genfs_io.c,v 1.68.6.2 2017/07/05 15:50:24 martin Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1993 @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: genfs_io.c,v 1.68.6.1 2017/06/04 20:35:01 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: genfs_io.c,v 1.68.6.2 2017/07/05 15:50:24 martin Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -139,6 +139,13 @@ genfs_getpages(void *v) KASSERT(vp->v_type == VREG || vp->v_type == VDIR || vp->v_type == VLNK || vp->v_type == VBLK); + error = vdead_check(vp, VDEAD_NOWAIT); + if (error) { + if ((flags & PGO_LOCKED) == 0) + mutex_exit(uobj->vmobjlock); + return error; + } + startover: error = 0; const voff_t origvsize = vp->v_size;