What | Removed | Added |
---|---|---|
Flags | needinfo?(felix.niederwanger@suse.com) |
pff, I believe the tbl_size (int) is simply so high (3252MB), so that it is negative and sign-extended to ulong: static int __initdata tbl_size; tbl_size = sizeof(*tbl) + tbl->num_entries * tbl->desc_size; memblock_reserve(efi_mem_attr_table, tbl_size); Having tbl_size = 0xcb4ba000 which is -884236272 bakes that: 0xcb4ba000 -> 0xffffffffcb4ba010 and then the resulting range: 0x77535018-0x429ef027 So does this help: --- a/drivers/firmware/efi/memattr.c +++ b/drivers/firmware/efi/memattr.c @@ -12,7 +12,7 @@ #include <asm/early_ioremap.h> -static int __initdata tbl_size; +static phys_addr_t __initdata tbl_size; unsigned long __ro_after_init efi_mem_attr_table = EFI_INVALID_TABLE_ADDR; /* ?