diff --git a/prov/util/src/util_mem_hooks.c b/prov/util/src/util_mem_hooks.c index ce69e64fc27..5dc49f8c917 100644 --- a/prov/util/src/util_mem_hooks.c +++ b/prov/util/src/util_mem_hooks.c @@ -220,8 +220,8 @@ static inline int ofi_write_patch(unsigned char *patch_data, void *address, } base = ofi_get_page_start(address, page_size); - bound = ofi_get_page_end(address, page_size); - length = (uintptr_t) bound - (uintptr_t) base; + bound = ofi_get_page_end(address + data_size, page_size); + length = (uintptr_t) bound - (uintptr_t) base + 1; if (mprotect(base, length, PROT_EXEC|PROT_READ|PROT_WRITE)) { FI_WARN(&core_prov, FI_LOG_MR,