In FreeBSD 4.4-stable file /sys/vm/vm_map.c, function vm_map_protect()
will leave and have an entry splitted when first pass fails.
here is the patch to avoid such issue.
%diff -u vm_map.c.orig vm_map.c
--- vm_map.c.orig Thu Nov 15 08:27:19 2001
+++ vm_map.c Thu Nov 15 09:08:47 2001
@@ -999,13 +999,14 @@
{
vm_map_entry_t current;
vm_map_entry_t entry;
+ int clip_start = 0;
vm_map_lock(map);
VM_MAP_RANGE_CHECK(map, start, end);
if (vm_map_lookup_entry(map, start, &entry)) {
- vm_map_clip_start(map, entry, start);
+ clip_start = 1;
} else {
entry = entry->next;
}
@@ -1026,6 +1027,8 @@
}
current = current->next;
}
+ if (clip_start)
+ vm_map_clip_start(map, entry, start);
/*
* Go back and fix up protections. [Note that clipping is not
--
David Xu
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message