From 9d7ea6cff7a7edc0f3d4fa8d54e6345ee027e754 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Tue, 25 Jul 2023 21:48:57 +0300 Subject: [PATCH] vm_map: do not allow to merge stack gap entries At least, offset handling is wrong for them. Reviewed by: alc, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D41099 --- sys/vm/vm_map.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index e63fcdc7c6f..790d81bba44 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2293,7 +2293,8 @@ vm_map_find_min(vm_map_t map, vm_object_t object, vm_ooffset_t offset, * another entry. */ #define MAP_ENTRY_NOMERGE_MASK (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP | \ - MAP_ENTRY_IN_TRANSITION | MAP_ENTRY_IS_SUB_MAP | MAP_ENTRY_VN_EXEC) + MAP_ENTRY_IN_TRANSITION | MAP_ENTRY_IS_SUB_MAP | MAP_ENTRY_VN_EXEC | \ + MAP_ENTRY_STACK_GAP_UP | MAP_ENTRY_STACK_GAP_DN) static bool vm_map_mergeable_neighbors(vm_map_entry_t prev, vm_map_entry_t entry)