EFI fixes
Linus,
Please pull the latest efi-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git efi-urgent-for-linus
# HEAD: c75343972b79ef5bd44c498a63b326e37470bbfc efi/arm: Fix the format of EFI debug messages
Two fixes: a regression/crash fix, and a message output fix.
Thanks,
Ingo
------------------>
Dennis Chen (1):
efi/arm: Fix the format of EFI debug messages
Vitaly Kuznetsov (1):
efi: Fix for_each_efi_memory_desc_in_map() for empty memmaps
drivers/firmware/efi/arm-init.c | 14 ++++++-------- include/linux/efi.h | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-)
drivers/firmware/efi/arm-init.c +6 -8
@@ -174,6 +174,7 @@ static __init void reserve_regions(void) {efi_memory_desc_t *md;u64 paddr, npages, size; +int resv;if (efi_enabled (EFI_DBG ))pr_info ("Processing EFI memory map:\n" );
@@ -190,12 +191,14 @@ static __init void reserve_regions(void) paddr = md->phys_addr; npages = md->num_pages; + resv =is_reserve_region (md);if (efi_enabled (EFI_DBG )) {char buf[64 ]; -pr_info (" 0x%012llx-0x%012llx %s" , +pr_info (" 0x%012llx-0x%012llx %s%s\n" , paddr, paddr + (npages <<EFI_PAGE_SHIFT ) -1 , -efi_md_typeattr_format (buf,sizeof (buf), md)); +efi_md_typeattr_format (buf,sizeof (buf), md), + resv ?"*" :"" ); }memrange_efi_to_native (&paddr, &npages);
@@ -204,14 +207,9 @@ static __init void reserve_regions(void)if (is_normal_ram (md))early_init_dt_add_memory_arch (paddr, size); -if (is_reserve_region (md)) { +if (resv)memblock_mark_nomap (paddr, size); -if (efi_enabled (EFI_DBG )) -pr_cont ("*" ); - } -if (efi_enabled (EFI_DBG )) -pr_cont ("\n" ); }set_bit (EFI_MEMMAP , &efi.flags);
include/linux/efi.h +1 -1
@@ -1005,7 +1005,7 @@ extern int efi_memattr_apply_permissions(struct mm_struct *mm,/* Iterate through an efi_memory_map */ #define for_each_efi_memory_desc_in_map (m, md) \ for ((md) = (m)->map; \ - (md) <= (efi_memory_desc_t *)((m)->map_end - (m)->desc_size); \ + ((void *)(md) + (m)->desc_size) <= (m)->map_end; \ (md) = (void *)(md) + (m)->desc_size)/**