diff options
author | Constantine Sapuntzakis <csapuntz@cvs.openbsd.org> | 1997-12-10 02:36:55 +0000 |
---|---|---|
committer | Constantine Sapuntzakis <csapuntz@cvs.openbsd.org> | 1997-12-10 02:36:55 +0000 |
commit | af991b2c4f5096b23bdd8d577c3993f636129aa3 (patch) | |
tree | 62e48a31f75d7c9c016509347003b98125c3164a /sys/vm/vnode_pager.c | |
parent | ed2568a23bcd65ea6e127a26cc3ea6ce83557c44 (diff) |
Fix for chuck cranor's crashme program.
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r-- | sys/vm/vnode_pager.c | 6 |
1 files changed, 3 insertions, 3 deletions
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); |