Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 606c17f4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI fixes from Ingo Molnar:
 "Two fixes: a regression/crash fix, and a message output fix"

* 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  efi/arm: Fix the format of EFI debug messages
  efi: Fix for_each_efi_memory_desc_in_map() for empty memmaps
parents 94fcad69 c7534397
Loading
Loading
Loading
Loading
+6 −8
Original line number Original line Diff line number Diff line
@@ -174,6 +174,7 @@ static __init void reserve_regions(void)
{
{
	efi_memory_desc_t *md;
	efi_memory_desc_t *md;
	u64 paddr, npages, size;
	u64 paddr, npages, size;
	int resv;


	if (efi_enabled(EFI_DBG))
	if (efi_enabled(EFI_DBG))
		pr_info("Processing EFI memory map:\n");
		pr_info("Processing EFI memory map:\n");
@@ -190,12 +191,14 @@ static __init void reserve_regions(void)
		paddr = md->phys_addr;
		paddr = md->phys_addr;
		npages = md->num_pages;
		npages = md->num_pages;


		resv = is_reserve_region(md);
		if (efi_enabled(EFI_DBG)) {
		if (efi_enabled(EFI_DBG)) {
			char buf[64];
			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,
				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);
		memrange_efi_to_native(&paddr, &npages);
@@ -204,14 +207,9 @@ static __init void reserve_regions(void)
		if (is_normal_ram(md))
		if (is_normal_ram(md))
			early_init_dt_add_memory_arch(paddr, size);
			early_init_dt_add_memory_arch(paddr, size);


		if (is_reserve_region(md)) {
		if (resv)
			memblock_mark_nomap(paddr, size);
			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);
	set_bit(EFI_MEMMAP, &efi.flags);
+1 −1
Original line number Original line Diff line number Diff line
@@ -1005,7 +1005,7 @@ extern int efi_memattr_apply_permissions(struct mm_struct *mm,
/* Iterate through an efi_memory_map */
/* Iterate through an efi_memory_map */
#define for_each_efi_memory_desc_in_map(m, md)				   \
#define for_each_efi_memory_desc_in_map(m, md)				   \
	for ((md) = (m)->map;						   \
	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)
	     (md) = (void *)(md) + (m)->desc_size)


/**
/**