aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMatthew Dillon <dillon@FreeBSD.org>2001-11-05 18:58:47 +0000
committerMatthew Dillon <dillon@FreeBSD.org>2001-11-05 18:58:47 +0000
commit33c67741512ad10fddbcba40bf733b5a073ff606 (patch)
treeba5e3b8a064134f4c5603f9029ed25d20102e653 /sys
parent0322b80600d72cc3687187291b27c38021037561 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vnode_pager.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 412bfab3911c..9e6363b17191 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -422,12 +422,17 @@ vnode_pager_input_smlfs(object, m)
kva = vm_pager_map_page(m);
for (i = 0; i < PAGE_SIZE / bsize; i++) {
+ vm_ooffset_t address;
if (vm_page_bits(i * bsize, bsize) & m->valid)
continue;
- fileaddr = vnode_pager_addr(vp,
- IDX_TO_OFF(m->pindex) + i * bsize, (int *)0);
+ address = IDX_TO_OFF(m->pindex) + i * bsize;
+ if (address >= object->un_pager.vnp.vnp_size) {
+ fileaddr = -1;
+ } else {
+ fileaddr = vnode_pager_addr(vp, address, NULL);
+ }
if (fileaddr != -1) {
bp = getpbuf(&vnode_pbuf_freecnt);