summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormickey <mickey@openbsd.org>2006-04-27 15:21:19 +0000
committermickey <mickey@openbsd.org>2006-04-27 15:21:19 +0000
commit0bd2b7b37109d4519a38a2c92ab8af597906af5c (patch)
treefb454c8bb7f10d2ff6ed9eab7c3cc0f90138060e
parentfrom PAE work: (diff)
downloadwireguard-openbsd-0bd2b7b37109d4519a38a2c92ab8af597906af5c.tar.xz
wireguard-openbsd-0bd2b7b37109d4519a38a2c92ab8af597906af5c.zip
from PAE work:
as freepages being vconverted back to byte address make sure to perform calculations in (upcoming) larger paddr_t to avoid losing higher bits in calculation.
-rw-r--r--sys/uvm/uvm_page.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/uvm/uvm_page.c b/sys/uvm/uvm_page.c
index 1562afe2347..95150357607 100644
--- a/sys/uvm/uvm_page.c
+++ b/sys/uvm/uvm_page.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_page.c,v 1.51 2006/01/16 13:11:05 mickey Exp $ */
+/* $OpenBSD: uvm_page.c,v 1.52 2006/04/27 15:21:19 mickey Exp $ */
/* $NetBSD: uvm_page.c,v 1.44 2000/11/27 08:40:04 chs Exp $ */
/*
@@ -293,7 +293,7 @@ uvm_page_init(kvm_startp, kvm_endp)
* pages).
*/
- pagecount = ((freepages + 1) << PAGE_SHIFT) /
+ pagecount = (((paddr_t)freepages + 1) << PAGE_SHIFT) /
(PAGE_SIZE + sizeof(struct vm_page));
pagearray = (vm_page_t)uvm_pageboot_alloc(pagecount *
sizeof(struct vm_page));