From 086e12c6caeecfdd0194c0cddc4a9ee98a83a7f1 Mon Sep 17 00:00:00 2001 From: sguo35 <sguo35@gmail.com> Date: Sat, 9 Jul 2022 23:28:56 -0700 Subject: [PATCH] mac: mmap calls should initialize with r/w page perms Mac/Arm64 pages should be R/W by default due to 16k page incompatibility. Without this there will be segfaults due to invalid permissions. --- rpcs3/util/vm_native.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rpcs3/util/vm_native.cpp b/rpcs3/util/vm_native.cpp index 0fc1d878e9..1eff83ef77 100644 --- a/rpcs3/util/vm_native.cpp +++ b/rpcs3/util/vm_native.cpp @@ -259,7 +259,11 @@ namespace utils } #ifdef __APPLE__ +#ifdef ARCH_ARM64 + auto ptr = ::mmap(use_addr, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE | MAP_JIT | c_map_noreserve, -1, 0); +#else auto ptr = ::mmap(use_addr, size, PROT_NONE, MAP_ANON | MAP_PRIVATE | MAP_JIT | c_map_noreserve, -1, 0); +#endif #else auto ptr = ::mmap(use_addr, size, PROT_NONE, MAP_ANON | MAP_PRIVATE | c_map_noreserve, -1, 0); #endif