Re: [tip regression] efi: Allow drivers to reserve boot services forever == toxic

From: Mike Galbraith
Date: Fri Sep 16 2016 - 12:35:09 EST


On Fri, 2016-09-16 at 15:30 +0100, Matt Fleming wrote:
> On Fri, 16 Sep, at 12:00:59PM, Mike Galbraith wrote:
> >
> > Ok, here's the whole thing just in case. Hope it's not too big.
>
> [...]
>
> > [ 0.000000] esrt: Reserving ESRT space from 0x00000000def87998 to 0x00000000def879d0.
>
> OK, that's 56 bytes and yet I realise that at no point in the
> efi_mem_reserve() call path do we round up to the nearest page size
> even though the EFI memory map only deals with EFI_PAGE_SIZE regions.
>
> Could you try this patch?

No dice. The numbers changed, but box still goes *poof*.

---
arch/x86/platform/efi/quirks.c | 4 ++++
1 file changed, 4 insertions(+)

--- a/arch/x86/platform/efi/quirks.c
+++ b/arch/x86/platform/efi/quirks.c
@@ -227,7 +227,11 @@ void __init efi_arch_mem_reserve(phys_ad
efi_memmap_insert(&efi.memmap, new, &mr);
early_memunmap(new, new_size);

+#if 0
efi_memmap_install(new_phys, num_entries);
+#else
+ printk(KERN_DEBUG "MIKE efi_memmap_install(0x%Lx, %d);\n", new_phys, num_entries);
+#endif
}

/*

homer:..debug/tracing # journalctl|grep MIKE
virgin+above
Sep 16 15:51:15 homer kernel: MIKE efi_memmap_install(0x9d640, 51);
Sep 16 15:55:07 homer kernel: MIKE efi_memmap_install(0x9d640, 51);
+patch+above
Sep 16 18:13:46 homer kernel: MIKE efi_memmap_install(0x9d600, 53);