uefi boot hang (bisected)

From: Dave Young
Date: Wed Jul 10 2013 - 02:35:34 EST


Hi,

latest linus tree kernel hangs on my Thinkpad T420.

I bisected this issue, culprit commit is below:

commit 1acba98f810a14b1255e34bc620594f83de37e36
Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx>
Date: Sun Jun 2 18:12:25 2013 -0400

UEFI: Don't pass boot services regions to SetVirtualAddressMap()

We need to map boot services regions during startup in order to avoid
firmware bugs, but we shouldn't be passing those regions to
SetVirtualAddressMap(). Ensure that we're only passing regions that are
marked as being mapped at runtime.

Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx>
Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>


Reverting this patch, the kernel boot just fine.

Another problem is: With this patch applied I tried noefi boot, but
kernel paniced, looks like efivar_init depends on efi runtime. Below
patches works for me about noefi boot though I'm not sure if it's a
right fix, please review.

--- linux-2.6.orig/drivers/firmware/efi/vars.c
+++ linux-2.6/drivers/firmware/efi/vars.c
@@ -370,6 +370,8 @@ int efivar_init(int (*func)(efi_char16_t
efi_guid_t vendor_guid;
int err = 0;

+ if (! efi_enabled(EFI_RUNTIME_SERVICES))
+ return -ENODEV;
variable_name = kzalloc(variable_name_size, GFP_KERNEL);
if (!variable_name) {
printk(KERN_ERR "efivars: Memory allocation failed.\n");



--
Thanks
Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/