From 9cdd7aee44f7e6c02a95970fc83f4de234d1c4a7 Mon Sep 17 00:00:00 2001 From: Exverge Date: Tue, 7 Jul 2026 22:06:59 -0400 Subject: [PATCH] only use MAP_FIXED_NOREPLACE on linux --- src/common/host_memory.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/common/host_memory.cpp b/src/common/host_memory.cpp index 0dab026a62..e187849dae 100644 --- a/src/common/host_memory.cpp +++ b/src/common/host_memory.cpp @@ -399,6 +399,10 @@ private: #ifdef ARCHITECTURE_arm64 #ifndef __APPLE__ + +#ifndef MAP_FIXED_NOREPLACE +#define MAP_FIXED_NOREPLACE 0 +#endif static void* ChooseVirtualBase(size_t virtual_size) { constexpr uintptr_t Map39BitSize = (1ULL << 39); constexpr uintptr_t Map36BitSize = (1ULL << 36); @@ -427,11 +431,13 @@ static void* ChooseVirtualBase(size_t virtual_size) { return map_pointer; } +#if MAP_FIXED_NOREPLACE == 0 // Unmap if necessary, and try again. if (map_pointer != MAP_FAILED) { munmap(map_pointer, virtual_size); } } +#endif return MAP_FAILED; }