protos/linux_x86: Use uint64_t for initrd_addr_max to prevent 32-bit wrap
diff --git a/common/protos/linux_x86.c b/common/protos/linux_x86.c
index 86655b0b..adc64c10 100644
--- a/common/protos/linux_x86.c
+++ b/common/protos/linux_x86.c
@@ -448,12 +448,12 @@ noreturn void linux_load(char *config, char *cmdline) {
modules[i] = module;
}
- uintptr_t modules_mem_base;
+ uint64_t modules_mem_base;
if (setup_header->version <= 0x202 || setup_header->initrd_addr_max == 0) {
modules_mem_base = 0x38000000;
} else {
- modules_mem_base = (uintptr_t)setup_header->initrd_addr_max + 1;
+ modules_mem_base = (uint64_t)setup_header->initrd_addr_max + 1;
}
if (size_of_all_modules > modules_mem_base) {
