Page MenuHomeFreeBSD

D16148.id44964.diff
No OneTemporary

D16148.id44964.diff

Index: head/sys/vm/vm_map.c
===================================================================
--- head/sys/vm/vm_map.c
+++ head/sys/vm/vm_map.c
@@ -3158,7 +3158,14 @@
if (entry->wired_count != 0)
vm_map_entry_unwire(map, entry);
- pmap_remove(map->pmap, entry->start, entry->end);
+ /*
+ * Remove mappings for the pages, but only if the
+ * mappings could exist. For instance, it does not
+ * make sense to call pmap_remove() for guard entries.
+ */
+ if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) != 0 ||
+ entry->object.vm_object != NULL)
+ pmap_remove(map->pmap, entry->start, entry->end);
/*
* Delete the entry only after removing all pmap

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 22, 11:33 AM (1 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16770594
Default Alt Text
D16148.id44964.diff (680 B)

Event Timeline