From 100db13f99dd07bcef43f9b2c0feac46bcd73018 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Sun, 24 Aug 2025 13:54:48 -0700 Subject: [PATCH] Syscalls: Make sure to munmap on full brk zero Failed to munmap in this case. --- Source/Tools/LinuxEmulation/LinuxSyscalls/Syscalls.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/Tools/LinuxEmulation/LinuxSyscalls/Syscalls.cpp b/Source/Tools/LinuxEmulation/LinuxSyscalls/Syscalls.cpp index e88322756..9ef030ac8 100644 --- a/Source/Tools/LinuxEmulation/LinuxSyscalls/Syscalls.cpp +++ b/Source/Tools/LinuxEmulation/LinuxSyscalls/Syscalls.cpp @@ -709,6 +709,11 @@ uint64_t SyscallHandler::HandleBRK(FEXCore::Core::CpuStateFrame* Frame, void* Ad // Not allowed to move brk end below original start // Set the size to zero DataSpaceSize = 0; + + // Munmap the whole space. + [[maybe_unused]] auto ok = GuestMunmap(Frame->Thread, reinterpret_cast(DataSpace), DataSpaceMappedSize); + LOGMAN_THROW_A_FMT(ok != -1, "Munmap failed"); + DataSpaceMappedSize = 0; } else { uint64_t NewSize = NewEnd - DataSpace; uint64_t NewSizeAligned = FEXCore::AlignUp(NewSize, 4096);