summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/subr_trap.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index 9dca842..5e1f171 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
- * $Id$
+ * $Id: trap.c,v 1.88 1997/02/22 09:32:55 peter Exp $
*/
/*
@@ -529,7 +529,8 @@ trap_pfault(frame, usermode)
}
/* Fault in the user page: */
- rv = vm_fault(map, va, ftype, FALSE);
+ rv = vm_fault(map, va, ftype,
+ (ftype & VM_PROT_WRITE) ? VM_FAULT_DIRTY : 0);
--p->p_lock;
} else {
@@ -630,14 +631,13 @@ trap_pfault(frame, usermode)
}
/* Fault in the user page: */
- rv = vm_fault(map, va, ftype, FALSE);
+ rv = vm_fault(map, va, ftype,
+ (ftype & VM_PROT_WRITE) ? VM_FAULT_DIRTY : 0);
--p->p_lock;
} else {
/*
- * Since we know that kernel virtual address addresses
- * always have pte pages mapped, we just have to fault
- * the page.
+ * Don't have to worry about process locking or stacks in the kernel.
*/
rv = vm_fault(map, va, ftype, FALSE);
}
@@ -808,7 +808,7 @@ int trapwrite(addr)
/*
* fault the data page
*/
- rv = vm_fault(&vm->vm_map, va, VM_PROT_READ|VM_PROT_WRITE, FALSE);
+ rv = vm_fault(&vm->vm_map, va, VM_PROT_READ|VM_PROT_WRITE, VM_FAULT_DIRTY);
--p->p_lock;
OpenPOWER on IntegriCloud