Browse Source

Merge pull request #3129 from SChernykh/dev

Fix: protectRX flushed CPU cache only on MacOS/iOS
pull/3134/head
xmrig 2 years ago
committed by GitHub
parent
commit
bc4dd11761
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      src/crypto/common/VirtualMemory_unix.cpp

12
src/crypto/common/VirtualMemory_unix.cpp

@ -112,13 +112,19 @@ bool xmrig::VirtualMemory::protectRWX(void *p, size_t size)
bool xmrig::VirtualMemory::protectRX(void *p, size_t size)
{
bool result = true;
# if defined(XMRIG_OS_APPLE) && defined(XMRIG_ARM)
pthread_jit_write_protect_np(true);
flushInstructionCache(p, size);
return true;
# else
return mprotect(p, size, PROT_READ | PROT_EXEC) == 0;
result = (mprotect(p, size, PROT_READ | PROT_EXEC) == 0);
# endif
# if defined(XMRIG_ARM)
flushInstructionCache(p, size);
# endif
return result;
}

Loading…
Cancel
Save