summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2005-05-03 11:52:36 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2005-05-03 11:52:36 +0000
commit67c593f5191b1dc903da4497feeebee472ffef8e (patch)
tree059a23f15e28598c1806dd79549d0fcc798a84b1 /sys
parentc78c3a0f23b2e6d5b96c37420505688aaf534739 (diff)
repair file mmapings above 4g; found by chefren; art@ ok
Diffstat (limited to 'sys')
-rw-r--r--sys/uvm/uvm_fault.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/uvm/uvm_fault.c b/sys/uvm/uvm_fault.c
index 072807149c2..74a031a0945 100644
--- a/sys/uvm/uvm_fault.c
+++ b/sys/uvm/uvm_fault.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_fault.c,v 1.33 2004/08/03 12:10:48 todd Exp $ */
+/* $OpenBSD: uvm_fault.c,v 1.34 2005/05/03 11:52:35 mickey Exp $ */
/* $NetBSD: uvm_fault.c,v 1.51 2000/08/06 00:22:53 thorpej Exp $ */
/*
@@ -568,7 +568,8 @@ uvm_fault(orig_map, vaddr, fault_type, access_type)
vm_prot_t enter_prot;
boolean_t wired, narrow, promote, locked, shadowed;
int npages, nback, nforw, centeridx, result, lcv, gotpages;
- vaddr_t startva, objaddr, currva, offset, uoff;
+ vaddr_t startva, currva;
+ voff_t uoff;
paddr_t pa;
struct vm_amap *amap;
struct uvm_object *uobj;
@@ -780,10 +781,9 @@ ReFault:
/* flush object? */
if (uobj) {
- objaddr =
- (startva - ufi.entry->start) + ufi.entry->offset;
+ uoff = (startva - ufi.entry->start) + ufi.entry->offset;
simple_lock(&uobj->vmobjlock);
- (void) uobj->pgops->pgo_flush(uobj, objaddr, objaddr +
+ (void) uobj->pgops->pgo_flush(uobj, uoff, uoff +
(nback << PAGE_SHIFT), PGO_DEACTIVATE);
simple_unlock(&uobj->vmobjlock);
}
@@ -1546,7 +1546,7 @@ Case2:
UVM_PAGE_OWN(uobjpage, NULL);
uvm_lock_pageq();
- offset = uobjpage->offset;
+ uoff = uobjpage->offset;
/* remove old page */
uvm_pagerealloc(uobjpage, NULL, 0);
@@ -1555,7 +1555,7 @@ Case2:
* control over uobjpage
*/
/* install new page */
- uvm_pagerealloc(pg, uobj, offset);
+ uvm_pagerealloc(pg, uobj, uoff);
uvm_unlock_pageq();
/*