On Fri, 23 Oct, at 11:48:16AM, Ard Biesheuvel wrote: > We have been getting away with using a void* for the physical > address of the UEFI memory map, since, even on 32-bit platforms > with 64-bit physical addresses, no truncation takes place if the > memory map has been allocated by the firmware (which only uses > 1:1 virtually addressable memory), which is usually the case. > > However, commit 0f96a99dab36 ("efi: Add "efi_fake_mem" boot option") > adds code that clones and modifies the UEFI memory map, and the > clone may live above 4 GB on 32-bit platforms. This means our use > of void* for struct efi_memory_map::phys_map has graduated from > 'incorrect but working' to 'incorrect and broken', and we need to > fix it. > > So redefine struct efi_memory_map::phys_map as phys_addr_t, and > get rid of a bunch of casts that are now unneeded. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > arch/arm64/kernel/efi.c | 4 ++-- > arch/x86/platform/efi/efi.c | 4 ++-- > drivers/firmware/efi/efi.c | 8 ++++---- > include/linux/efi.h | 2 +- > 4 files changed, 9 insertions(+), 9 deletions(-) Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html