From af991b2c4f5096b23bdd8d577c3993f636129aa3 Mon Sep 17 00:00:00 2001 From: Constantine Sapuntzakis Date: Wed, 10 Dec 1997 02:36:55 +0000 Subject: Fix for chuck cranor's crashme program. --- sys/vm/vnode_pager.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/vm/vnode_pager.c') diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index a0711f72267..3179af43f71 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vnode_pager.c,v 1.6 1997/11/06 05:59:39 csapuntz Exp $ */ +/* $OpenBSD: vnode_pager.c,v 1.7 1997/12/10 02:36:54 csapuntz Exp $ */ /* $NetBSD: vnode_pager.c,v 1.19 1996/03/16 23:15:27 christos Exp $ */ /* @@ -295,7 +295,7 @@ vnode_pager_haspage(pager, offset) * Lock the vnode first to make sure we have the most recent * version of the size. */ - vn_lock(vnp->vnp_vp, LK_EXCLUSIVE | LK_RETRY, p); + vn_lock(vnp->vnp_vp, LK_EXCLUSIVE | LK_RETRY | LK_CANRECURSE, p); if (offset >= vnp->vnp_size) { VOP_UNLOCK(vnp->vnp_vp, 0, p); #ifdef DEBUG @@ -542,7 +542,7 @@ vnode_pager_io(vnp, mlist, npages, sync, rw) * read beyond EOF (returns error) * short read */ - vn_lock(vnp->vnp_vp, LK_EXCLUSIVE | LK_RETRY, p); + vn_lock(vnp->vnp_vp, LK_EXCLUSIVE | LK_RETRY | LK_CANRECURSE, p); if (foff >= vnp->vnp_size) { VOP_UNLOCK(vnp->vnp_vp, 0, p); vm_pager_unmap_pages(kva, npages); -- cgit v1.2.3