summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/uvm/uvm_pager.c')
-rw-r--r--sys/uvm/uvm_pager.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/uvm/uvm_pager.c b/sys/uvm/uvm_pager.c
index 4e4918fd0e7..23b7f15d2bd 100644
--- a/sys/uvm/uvm_pager.c
+++ b/sys/uvm/uvm_pager.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_pager.c,v 1.65 2014/04/13 23:14:15 tedu Exp $ */
+/* $OpenBSD: uvm_pager.c,v 1.66 2014/05/08 20:08:50 kettenis Exp $ */
/* $NetBSD: uvm_pager.c,v 1.36 2000/11/27 18:26:41 chs Exp $ */
/*
@@ -278,7 +278,7 @@ void
uvm_pagermapout(vaddr_t kva, int npages)
{
- pmap_remove(pmap_kernel(), kva, kva + (npages << PAGE_SHIFT));
+ pmap_remove(pmap_kernel(), kva, kva + ((vsize_t)npages << PAGE_SHIFT));
pmap_update(pmap_kernel());
uvm_pseg_release(kva);
@@ -724,7 +724,8 @@ uvm_aio_aiodone(struct buf *bp)
uobj = NULL;
for (i = 0; i < npages; i++)
- pgs[i] = uvm_atopg((vaddr_t)bp->b_data + (i << PAGE_SHIFT));
+ pgs[i] = uvm_atopg((vaddr_t)bp->b_data +
+ ((vsize_t)i << PAGE_SHIFT));
uvm_pagermapout((vaddr_t)bp->b_data, npages);
#ifdef UVM_SWAP_ENCRYPT
/*