From 67cc64f4c730a05038cd387d8734d6134857188b Mon Sep 17 00:00:00 2001 From: John Dyson Date: Sat, 9 Mar 1996 06:52:05 +0000 Subject: [PATCH] Fix two problems: The pmap_remove in vm_map_clean incorrectly unmapped the entire map entry. The new vm_map_simplify_entry code had an error (the offset of the combined map entry was not set correctly.) Submitted by: Alan Cox --- sys/vm/vm_map.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 8f8c0a325735..2da7224d6ab7 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_map.c,v 1.35 1996/03/03 18:53:10 peter Exp $ + * $Id: vm_map.c,v 1.36 1996/03/04 02:04:24 dyson Exp $ */ /* @@ -872,6 +872,7 @@ vm_map_simplify_entry(map, entry) prev->wired_count == 0) { vm_map_entry_unlink(map, prev); entry->start = prev->start; + entry->offset = prev->offset; vm_object_deallocate(prev->object.vm_object); vm_map_entry_dispose(map, prev); esize = entry->end - entry->start; @@ -1547,7 +1548,7 @@ vm_map_clean(map, start, end, syncio, invalidate) } if (invalidate) pmap_remove(vm_map_pmap(map), current->start, - current->end); + current->start + size); if (object && (object->type == OBJT_VNODE)) { /* * Flush pages if writing is allowed. XXX should we continue