summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_map.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2009-11-18 18:05:54 +0000
committeralc <alc@FreeBSD.org>2009-11-18 18:05:54 +0000
commitca67dc4da40d836cf1919f08c2fba266a28d19b2 (patch)
tree3197a0817148614fefed82c9320e8a968b09917e /sys/vm/vm_map.c
parent5df0c181df0fabff74fce8340202811f15a55b4e (diff)
downloadFreeBSD-src-ca67dc4da40d836cf1919f08c2fba266a28d19b2.zip
FreeBSD-src-ca67dc4da40d836cf1919f08c2fba266a28d19b2.tar.gz
Simplify both the invocation and the implementation of vm_fault() for wiring
pages. (Note: Claims made in the comments about the handling of breakpoints in wired pages have been false for roughly a decade. This and another bug involving breakpoints will be fixed in coming changes.) Reviewed by: kib
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r--sys/vm/vm_map.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index 414d4e6..a77347f 100644
--- a/sys/vm/vm_map.c
+++ b/sys/vm/vm_map.c
@@ -2381,7 +2381,7 @@ vm_map_wire(vm_map_t map, vm_offset_t start, vm_offset_t end,
*/
vm_map_unlock(map);
rv = vm_fault_wire(map, saved_start, saved_end,
- user_wire, fictitious);
+ fictitious);
vm_map_lock(map);
if (last_timestamp + 1 != map->timestamp) {
/*
@@ -3563,7 +3563,7 @@ RetryLookup:;
else
prot = entry->protection;
fault_type &= (VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE);
- if ((fault_type & prot) != fault_type) {
+ if ((fault_type & prot) != fault_type || prot == VM_PROT_NONE) {
vm_map_unlock_read(map);
return (KERN_PROTECTION_FAILURE);
}
OpenPOWER on IntegriCloud