diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 87eb318b46eb850646892e998bb116700a75459c..f0c9095d57382e01df1f4b93dafd9e954a4c4fe7 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -3417,8 +3417,8 @@ static void load_elf_image(const char *image_name, const ImageSource *src, if (align_size != reserve_size) { abi_ulong align_addr = ROUND_UP(load_addr, align); - abi_ulong align_end = align_addr + reserve_size; - abi_ulong load_end = load_addr + align_size; + abi_ulong align_end = TARGET_PAGE_ALIGN(align_addr + reserve_size); + abi_ulong load_end = TARGET_PAGE_ALIGN(load_addr + align_size); if (align_addr != load_addr) { target_munmap(load_addr, align_addr - load_addr);