From 0513149477ac0043d71b46782807d89660ac2341 Mon Sep 17 00:00:00 2001 From: jeffro256 Date: Thu, 14 Aug 2025 12:53:42 -0500 Subject: [PATCH 1/2] cryptonote_core: support RandomX V2 and commitments in v17 See docs/BLOCK_HASHING.md This commit does required consensus changes only. --- docs/BLOCK_HASHING.md | 52 ++++++++++ docs/resources/cryptonight-data-flow.png | Bin 0 -> 89301 bytes .../partial-pow-verify-data-flow.png | Bin 0 -> 58152 bytes .../randomx-commitment-data-flow.png | Bin 0 -> 110896 bytes docs/resources/randomx-data-flow.png | Bin 0 -> 104032 bytes external/randomx | 2 +- src/crypto/hash-ops.h | 7 +- src/crypto/rx-slow-hash.c | 94 +++++++++++++----- .../cryptonote_format_utils.cpp | 24 ++++- .../cryptonote_format_utils.h | 6 ++ src/cryptonote_config.h | 2 + src/cryptonote_core/cryptonote_core.cpp | 2 +- src/cryptonote_core/cryptonote_tx_utils.cpp | 22 ++-- src/cryptonote_core/cryptonote_tx_utils.h | 6 +- src/rpc/core_rpc_server.cpp | 2 +- tests/core_tests/chaingen.cpp | 2 +- 16 files changed, 177 insertions(+), 44 deletions(-) create mode 100644 docs/BLOCK_HASHING.md create mode 100644 docs/resources/cryptonight-data-flow.png create mode 100644 docs/resources/partial-pow-verify-data-flow.png create mode 100644 docs/resources/randomx-commitment-data-flow.png create mode 100644 docs/resources/randomx-data-flow.png diff --git a/docs/BLOCK_HASHING.md b/docs/BLOCK_HASHING.md new file mode 100644 index 000000000..598400674 --- /dev/null +++ b/docs/BLOCK_HASHING.md @@ -0,0 +1,52 @@ +# Block hashing + +## Background + +In Bitcoin, block IDs and Proof-of-Work (PoW) hashes are calculated the same way, which is why on-chain block IDs always start +with many 0s. However, in Monero, block IDs and PoW hashes are calculated using different hash functions and slightly different +inputs. This is because the hash functions used for PoW (CryptoNight and RandomX) are much slower to run than other +cryptographic hash functions, specifically Keccak256, which Monero uses for block IDs. By contrast, Bitcoin uses SHA-256 for +both block IDs and PoW. The reason that CryptoNight and RandomX were chosen for PoW in Monero is to protect against +application-specific integrated circuits (ASICs) from dominanting the network hashrate like in Bitcoin. In theory, this +would restore the principle of "1 CPU, 1 vote" outlined in the Satoshi whitepaper, and bring greater decentralization to the +Monero exosystem. This document aims to describe exactly how block IDs and PoW hashes are calculated in the Monero reference +codebase. + +## CryptoNight epoch + +To be reductive, the underlying design of Cryptonight is to 1) fill a 2MB buffer of memory using a memory-hard function, 2) +perform over a millon random reads on that buffer to permutate some state, and then 3) do a final hash on the state using +a random choice between four independent hash fuctions. There are 4 variants of CryptoNight: v0, v1, v2, and v4. This is the +data flow for how block hashing in the CryptoNight epoch (Monero fork versions v1-v11) is performed: + +![CryptoNight data flow](resources/cryptonight-data-flow.png) + +## RandomX epoch + +Like, CryptoNight, RandomX also uses a memory hard function to fill a large space of memory called a "cache". However, this +space is 256MB, not 2MB. It can be further expanded to 2GB to trade memory usage for compute speed. Unlike CryptoNight's cache, +the RandomX cache is computed only once every 2048 blocks, not once per block. Monero uses a "seed" block ID of a previous block +in the chain to fill the memory space. And to make ASICs even harder, RandomX uses random instruction execution as well. This +is the data flow for how block hashing in the RandomX epoch (Monero fork versions v12-present) is performed: + +![RandomX data flow](resources/randomx-data-flow.png) + +## RandomX, with commitments, epoch + +Because RandomX can be slow to run, especially while building the cache (nearly 1/2 a second on my machine), it inadvertantly +can introduce a Denial-of-Service (DoS) vector. For this reason, RandomX hash commitments can be added, so the PoW can be +partially verified using only Blake2B, a much lighter hash function. For simplicity's sake, we can also remove the number of +transactions in the block from the block hashing blob. This is the data flow for how block hashing works with these changes: + +![RandomX commitment data flow](resources/randomx-commitment-data-flow.png) + +The way that the hashes are calculated allows us to do partial PoW verification like so: + +![Partial RandomX verification data flow](resources/partial-pow-verify-data-flow.png) + +A node can be given simply the block header, block content hash, and intermediate PoW hash, and verify that some PoW was done +using only `randomx_calculate_commitment()` (Blake2B underneath). Passing this partial verification requires PoW to be done using +Blake2B up to the relevant difficulty. While doing so is much easier than doing the full RandomX PoW, it still requires +significant work. It is very important that we can calculate the block ID from the same information (or a subset thereof) +that we calculate PoW from, since each block header contains the previous block ID. Binding the block headers as such makes +faking intermediate PoW on chains of blocks exponentially harder the longer the chain is. diff --git a/docs/resources/cryptonight-data-flow.png b/docs/resources/cryptonight-data-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..0db819d2e8208b684af6504d961216494afb65b6 GIT binary patch literal 89301 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 literal 0 HcmV?d00001 diff --git a/docs/resources/partial-pow-verify-data-flow.png b/docs/resources/partial-pow-verify-data-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..f934fc8d7ce5407b21d9c66039991b73af2ecf43 GIT binary patch literal 58152 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
    `7559mtJ$CDKH+x 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 literal 0 HcmV?d00001 diff --git a/docs/resources/randomx-data-flow.png b/docs/resources/randomx-data-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc42a7a7f6801c69db47bd1760f655011eb790a GIT binary patch literal 104032 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 quFC1$<9 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, HASH_SIZE); minfo(RX_LOGCAT, "RandomX main cache initialized"); @@ -405,8 +452,7 @@ void rx_set_main_seedhash(const char *seedhash, size_t max_dataset_init_threads) CTHR_THREAD_CLOSE(t); } -void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash) { - const randomx_flags flags = enabled_flags() & ~disabled_flags(); +void rx_slow_hash(const char *seedhash, const int variant, const void *data, size_t length, char *result_hash) { int success = 0; // Fast path (seedhash == main_seedhash) @@ -416,7 +462,7 @@ void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *r if (main_dataset && CTHR_RWLOCK_TRYLOCK_READ(main_dataset_lock)) { // Double check that main_seedhash didn't change if (is_main(seedhash)) { - rx_init_full_vm(flags, &main_vm_full); + rx_init_full_vm(variant, &main_vm_full, &main_vm_full_variant); if (main_vm_full) { randomx_calculate_hash(main_vm_full, data, length, result_hash); success = 1; @@ -427,7 +473,7 @@ void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *r CTHR_RWLOCK_LOCK_READ(main_cache_lock); // Double check that main_seedhash didn't change if (is_main(seedhash)) { - rx_init_light_vm(flags, &main_vm_light, main_cache); + rx_init_light_vm(variant, &main_vm_light, &main_vm_light_variant, main_cache); randomx_calculate_hash(main_vm_light, data, length, result_hash); success = 1; } @@ -449,7 +495,7 @@ void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *r hash2hex(seedhash, buf); minfo(RX_LOGCAT, "RandomX new secondary seed hash is %s", buf); - rx_alloc_cache(flags, &secondary_cache); + rx_alloc_cache(&secondary_cache); randomx_init_cache(secondary_cache, seedhash, HASH_SIZE); minfo(RX_LOGCAT, "RandomX secondary cache updated"); memcpy(secondary_seedhash, seedhash, HASH_SIZE); @@ -460,7 +506,7 @@ void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *r CTHR_RWLOCK_LOCK_READ(secondary_cache_lock); if (is_secondary(seedhash)) { - rx_init_light_vm(flags, &secondary_vm_light, secondary_cache); + rx_init_light_vm(variant, &secondary_vm_light, &secondary_vm_light_variant, secondary_cache); randomx_calculate_hash(secondary_vm_light, data, length, result_hash); success = 1; } @@ -482,11 +528,15 @@ void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *r memcpy(secondary_seedhash, seedhash, HASH_SIZE); secondary_seedhash_set = 1; } - rx_init_light_vm(flags, &secondary_vm_light, secondary_cache); + rx_init_light_vm(variant, &secondary_vm_light, &secondary_vm_light_variant, secondary_cache); randomx_calculate_hash(secondary_vm_light, data, length, result_hash); CTHR_RWLOCK_UNLOCK_WRITE(secondary_cache_lock); } +void rx_commitment(const void *data, size_t length, const void *rx_hash, char *result_commitment) { + randomx_calculate_commitment(data, length, rx_hash, result_commitment); +} + void rx_set_miner_thread(uint32_t value, size_t max_dataset_init_threads) { miner_thread = value; @@ -497,8 +547,7 @@ void rx_set_miner_thread(uint32_t value, size_t max_dataset_init_threads) { return; } - const randomx_flags flags = enabled_flags() & ~disabled_flags(); - rx_alloc_dataset(flags, &main_dataset, 1); + rx_alloc_dataset(&main_dataset, 1); rx_init_dataset(max_dataset_init_threads); CTHR_RWLOCK_UNLOCK_WRITE(main_dataset_lock); @@ -510,13 +559,6 @@ uint32_t rx_get_miner_thread(void) { void rx_slow_hash_allocate_state(void) {} -static void rx_destroy_vm(randomx_vm** vm) { - if (*vm) { - randomx_destroy_vm(*vm); - *vm = NULL; - } -} - void rx_slow_hash_free_state(void) { rx_destroy_vm(&main_vm_full); rx_destroy_vm(&main_vm_light); diff --git a/src/cryptonote_basic/cryptonote_format_utils.cpp b/src/cryptonote_basic/cryptonote_format_utils.cpp index 53c410a5f..84634a9e0 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.cpp +++ b/src/cryptonote_basic/cryptonote_format_utils.cpp @@ -2019,10 +2019,16 @@ namespace cryptonote return false; } //--------------------------------------------------------------- + int get_randomx_variant_for_hf_version(const std::uint8_t hf_version) + { + return (hf_version >= HF_VERSION_RANDOMX_V2) ? RX_VARIANT_2 : RX_VARIANT_1; + } + //--------------------------------------------------------------- crypto::hash get_block_longhash(const blobdata_ref block_hashing_blob, const uint64_t height, const uint8_t major_version, - const crypto::hash &seed_hash) + const crypto::hash &seed_hash, + crypto::hash &intermediate_hash_out) { crypto::hash res; @@ -2031,7 +2037,12 @@ namespace cryptonote if (major_version >= RX_BLOCK_VERSION) // RandomX { - crypto::rx_slow_hash(seed_hash.data, block_hashing_blob.data(), block_hashing_blob.size(), res.data); + const int rx_variant = get_randomx_variant_for_hf_version(major_version); + crypto::rx_slow_hash(seed_hash.data, rx_variant, + block_hashing_blob.data(), block_hashing_blob.size(), res.data); + intermediate_hash_out = res; + if (major_version >= HF_VERSION_POW_COMMITMENT) + crypto::rx_commitment(block_hashing_blob.data(), block_hashing_blob.size(), res.data, res.data); } else // CryptoNight { @@ -2044,6 +2055,15 @@ namespace cryptonote return res; } //--------------------------------------------------------------- + crypto::hash get_block_longhash(const blobdata_ref block_hashing_blob, + const uint64_t height, + const uint8_t major_version, + const crypto::hash &seed_hash) + { + crypto::hash intermediate_hash; + return get_block_longhash(block_hashing_blob, height, major_version, seed_hash, intermediate_hash); + } + //--------------------------------------------------------------- bool is_valid_decomposed_amount(uint64_t amount) { if (0 == amount) diff --git a/src/cryptonote_basic/cryptonote_format_utils.h b/src/cryptonote_basic/cryptonote_format_utils.h index 5b3c3667b..a6d669dfa 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.h +++ b/src/cryptonote_basic/cryptonote_format_utils.h @@ -303,6 +303,12 @@ namespace cryptonote void get_tx_tree_hash(const std::vector& tx_hashes, crypto::hash& h); crypto::hash get_tx_tree_hash(const std::vector& tx_hashes); crypto::hash get_tx_tree_hash(const block& b); + int get_randomx_variant_for_hf_version(const std::uint8_t hf_version); + crypto::hash get_block_longhash(const blobdata_ref block_hashing_blob, + const uint64_t height, + const uint8_t major_version, + const crypto::hash &seed_hash, + crypto::hash &intermediate_hash_out); crypto::hash get_block_longhash(const blobdata_ref block_hashing_blob, const uint64_t height, const uint8_t major_version, diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index b4fc7d2cc..0423d35bf 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -208,6 +208,8 @@ #define HF_VERSION_REJECT_UNMIXABLE_V1 17 #define HF_VERSION_REJECT_MANY_MINER_OUTPUTS 17 #define HF_VERSION_2026_SCALING 17 +#define HF_VERSION_POW_COMMITMENT 17 +#define HF_VERSION_RANDOMX_V2 17 #define MAX_HF_VERSION 18 #define PER_KB_FEE_QUANTIZATION_DECIMALS 8 diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index d6018990d..8d90009f4 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -220,7 +220,7 @@ namespace cryptonote m_mempool(m_bap.tx_pool), m_blockchain_storage(m_bap.blockchain), m_miner(this, [this](const cryptonote::block &b, uint64_t height, const crypto::hash *seed_hash, unsigned int threads, crypto::hash &hash) { - return cryptonote::get_block_longhash(&m_blockchain_storage, b, hash, height, seed_hash, threads); + return cryptonote::get_block_longhash(&m_blockchain_storage, b, hash, height, seed_hash); }), m_starter_message_showed(false), m_target_blockchain_height(0), diff --git a/src/cryptonote_core/cryptonote_tx_utils.cpp b/src/cryptonote_core/cryptonote_tx_utils.cpp index d1b18b8c5..b89bd1b0e 100644 --- a/src/cryptonote_core/cryptonote_tx_utils.cpp +++ b/src/cryptonote_core/cryptonote_tx_utils.cpp @@ -737,7 +737,7 @@ namespace cryptonote bl.timestamp = 0; bl.nonce = nonce; miner::find_nonce_for_given_block([](const cryptonote::block &b, uint64_t height, const crypto::hash *seed_hash, unsigned int threads, crypto::hash &hash){ - return cryptonote::get_block_longhash(NULL, b, hash, height, seed_hash, threads); + return cryptonote::get_block_longhash(NULL, b, hash, height, seed_hash); }, bl, 1, 0, NULL); bl.invalidate_hashes(); return true; @@ -746,10 +746,13 @@ namespace cryptonote void get_altblock_longhash(const block& b, crypto::hash& res, const crypto::hash& seed_hash) { blobdata bd = get_block_hashing_blob(b); - rx_slow_hash(seed_hash.data, bd.data(), bd.size(), res.data); + const int rx_variant = get_randomx_variant_for_hf_version(b.major_version); + crypto::rx_slow_hash(seed_hash.data, rx_variant, bd.data(), bd.size(), res.data); + if (b.major_version >= HF_VERSION_POW_COMMITMENT) + crypto::rx_commitment(bd.data(), bd.size(), res.data, res.data); } - bool get_block_longhash(const Blockchain *pbc, const blobdata& bd, crypto::hash& res, const uint64_t height, const int major_version, const crypto::hash *seed_hash, const int miners) + bool get_block_longhash(const Blockchain *pbc, const blobdata& bd, crypto::hash& res, const uint64_t height, const int major_version, const crypto::hash *seed_hash, crypto::hash *intermediate_hash_out) { crypto::hash seed_hash_ = crypto::null_hash; if (pbc != NULL && major_version >= RX_BLOCK_VERSION) @@ -757,20 +760,23 @@ namespace cryptonote const uint64_t seed_height = rx_seedheight(height); seed_hash_ = seed_hash ? *seed_hash : pbc->get_pending_block_id_by_height(seed_height); } - res = get_block_longhash(bd, height, major_version, seed_hash_); + crypto::hash intermediate_hash; + res = get_block_longhash(bd, height, major_version, seed_hash_, intermediate_hash); + if (intermediate_hash_out) + *intermediate_hash_out = intermediate_hash; return true; } - bool get_block_longhash(const Blockchain *pbc, const block& b, crypto::hash& res, const uint64_t height, const crypto::hash *seed_hash, const int miners) + bool get_block_longhash(const Blockchain *pbc, const block& b, crypto::hash& res, const uint64_t height, const crypto::hash *seed_hash, crypto::hash *intermediate_hash_out) { blobdata bd = get_block_hashing_blob(b); - return get_block_longhash(pbc, bd, res, height, b.major_version, seed_hash, miners); + return get_block_longhash(pbc, bd, res, height, b.major_version, seed_hash, intermediate_hash_out); } - crypto::hash get_block_longhash(const Blockchain *pbc, const block& b, const uint64_t height, const crypto::hash *seed_hash, const int miners) + crypto::hash get_block_longhash(const Blockchain *pbc, const block& b, const uint64_t height, const crypto::hash *seed_hash, crypto::hash *intermediate_hash_out) { crypto::hash p = crypto::null_hash; - get_block_longhash(pbc, b, p, height, seed_hash, miners); + get_block_longhash(pbc, b, p, height, seed_hash, intermediate_hash_out); return p; } } diff --git a/src/cryptonote_core/cryptonote_tx_utils.h b/src/cryptonote_core/cryptonote_tx_utils.h index 6b269c22c..82a1b2c10 100644 --- a/src/cryptonote_core/cryptonote_tx_utils.h +++ b/src/cryptonote_core/cryptonote_tx_utils.h @@ -162,9 +162,9 @@ namespace cryptonote ); class Blockchain; - bool get_block_longhash(const Blockchain *pb, const blobdata& bd, crypto::hash& res, const uint64_t height, const int major_version, const crypto::hash *seed_hash, const int miners = 0); - bool get_block_longhash(const Blockchain *pb, const block& b, crypto::hash& res, const uint64_t height, const crypto::hash *seed_hash = nullptr, const int miners = 0); - crypto::hash get_block_longhash(const Blockchain *pb, const block& b, const uint64_t height, const crypto::hash *seed_hash = nullptr, const int miners = 0); + bool get_block_longhash(const Blockchain *pb, const blobdata& bd, crypto::hash& res, const uint64_t height, const int major_version, const crypto::hash *seed_hash, crypto::hash *intermediate_hash_out = nullptr); + bool get_block_longhash(const Blockchain *pb, const block& b, crypto::hash& res, const uint64_t height, const crypto::hash *seed_hash = nullptr, crypto::hash *intermediate_hash_out = nullptr); + crypto::hash get_block_longhash(const Blockchain *pb, const block& b, const uint64_t height, const crypto::hash *seed_hash = nullptr, crypto::hash *intermediate_hash_out = nullptr); void get_altblock_longhash(const block& b, crypto::hash& res, const crypto::hash& seed_hash); } diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 0077ec8b9..364e9f70a 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -2164,7 +2164,7 @@ namespace cryptonote return false; } miner::find_nonce_for_given_block([this](const cryptonote::block &b, uint64_t height, const crypto::hash *seed_hash, unsigned int threads, crypto::hash &hash) { - return cryptonote::get_block_longhash(&(m_core.get_blockchain_storage()), b, hash, height, seed_hash, threads); + return cryptonote::get_block_longhash(&(m_core.get_blockchain_storage()), b, hash, height, seed_hash); }, b, template_res.difficulty, template_res.height, &seed_hash); submit_req.front() = string_tools::buff_to_hex_nodelimer(block_to_blob(b)); diff --git a/tests/core_tests/chaingen.cpp b/tests/core_tests/chaingen.cpp index 8775ea655..2cabb8bb8 100644 --- a/tests/core_tests/chaingen.cpp +++ b/tests/core_tests/chaingen.cpp @@ -411,7 +411,7 @@ void test_generator::fill_nonce(cryptonote::block& blk, const difficulty_type& d blk.nonce = 0; while (!miner::find_nonce_for_given_block([blockchain](const cryptonote::block &b, uint64_t height, const crypto::hash *seed_hash, unsigned int threads, crypto::hash &hash){ - return cryptonote::get_block_longhash(blockchain, b, hash, height, seed_hash, threads); + return cryptonote::get_block_longhash(blockchain, b, hash, height, seed_hash); }, blk, diffic, height, NULL)) { blk.timestamp++; } From 8b3b4fee7e54fb75528f2739d48743093477b3fe Mon Sep 17 00:00:00 2001 From: jeffro256 Date: Fri, 18 Sep 2026 23:18:56 -0500 Subject: [PATCH 2/2] @selsta MONERO_RANDOMX_UMASK review --- src/crypto/rx-slow-hash.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/crypto/rx-slow-hash.c b/src/crypto/rx-slow-hash.c index 973503216..44565c7ef 100644 --- a/src/crypto/rx-slow-hash.c +++ b/src/crypto/rx-slow-hash.c @@ -119,6 +119,13 @@ static inline int disabled_flags(void) { else { flags = 0; } + + if (flags & RANDOMX_FLAG_V2) + { + mwarning(RX_LOGCAT, + "MONERO_RANDOMX_UMASK would mask RandomX V2, ignoring that bit..."); + flags &= ~RANDOMX_FLAG_V2; + } } return flags; @@ -284,9 +291,11 @@ static void rx_init_full_vm(const int variant, randomx_vm** vm, int* vm_variant) if ((flags & RANDOMX_FLAG_JIT) && !miner_thread) { flags |= RANDOMX_FLAG_SECURE; } + flags |= RANDOMX_FLAG_LARGE_PAGES | RANDOMX_FLAG_FULL_MEM; + flags &= ~disabled_flags(); flags |= get_variant_flags(variant); - *vm = randomx_create_vm((flags | RANDOMX_FLAG_LARGE_PAGES | RANDOMX_FLAG_FULL_MEM) & ~disabled_flags(), NULL, main_dataset); + *vm = randomx_create_vm(flags, NULL, main_dataset); *vm_variant = variant; if (!*vm) { static int shown = 0; @@ -294,7 +303,7 @@ static void rx_init_full_vm(const int variant, randomx_vm** vm, int* vm_variant) shown = 1; alloc_err_msg("Couldn't allocate RandomX full VM using large pages (will print only once)"); } - *vm = randomx_create_vm((flags | RANDOMX_FLAG_FULL_MEM) & ~disabled_flags(), NULL, main_dataset); + *vm = randomx_create_vm(flags & ~RANDOMX_FLAG_LARGE_PAGES, NULL, main_dataset); if (!*vm) { merror(RX_LOGCAT, "Couldn't allocate RandomX full VM"); } @@ -317,11 +326,11 @@ static void rx_init_light_vm(const int variant, randomx_vm** vm, int* vm_variant if ((flags & RANDOMX_FLAG_JIT) && !miner_thread) { flags |= RANDOMX_FLAG_SECURE; } + flags |= RANDOMX_FLAG_LARGE_PAGES; + flags &= ~(disabled_flags() | RANDOMX_FLAG_FULL_MEM); flags |= get_variant_flags(variant); - flags &= ~RANDOMX_FLAG_FULL_MEM; - - *vm = randomx_create_vm((flags | RANDOMX_FLAG_LARGE_PAGES) & ~disabled_flags(), cache, NULL); + *vm = randomx_create_vm(flags, cache, NULL); *vm_variant = variant; if (!*vm) { static int shown = 0; @@ -329,7 +338,7 @@ static void rx_init_light_vm(const int variant, randomx_vm** vm, int* vm_variant shown = 1; alloc_err_msg("Couldn't allocate RandomX light VM using large pages (will print only once)"); } - *vm = randomx_create_vm(flags & ~disabled_flags(), cache, NULL); + *vm = randomx_create_vm(flags & ~RANDOMX_FLAG_LARGE_PAGES, cache, NULL); if (!*vm) local_abort("Couldn't allocate RandomX light VM"); } }