Re: [PATCH -v2] EFI: Runtime services virtual mapping

Borislav Petkov
2013-09-22T13:37:22Z

On Sun, Sep 22, 2013 at 08:35:15PM +0800, Dave Young wrote:
> I tested your new patch, it works both with efi stub and grub boot in
> 1st kernel.

Good, thanks!

> But it paniced in kexec boot with my kexec related patcheset, the patchset

That's the second kernel, right?

> contains 3 patch:
> 1. introduce cmdline kexecboot=<0|1|2>; 1 == kexec, 2 == kdump
> 2. export physical addr fw_vendor, runtime, tables to /sys/firmware/efi/systab
> 3. if kexecboot != 0, use fw_vendor, runtime, tables from bootparams; Also do not
> call SetVirtualAddressMao in case kexecboot.
>
> The panic happens at the last line of efi_init:
> /* clean DUMMY object */
> efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID,
> EFI_VARIABLE_NON_VOLATILE |
> EFI_VARIABLE_BOOTSERVICE_ACCESS |
> EFI_VARIABLE_RUNTIME_ACCESS,
> 0, NULL);
>
> Below is the dmesg:
> [ 0.003359] pid_max: default: 32768 minimum: 301
> [ 0.004792] BUG: unable to handle kernel paging request at fffffffefde97e70
> [ 0.006666] IP: [<ffffffff8103a1db>] virt_efi_set_variable+0x40/0x54
> [ 0.006666] PGD 36981067 PUD 35828063 PMD 0

Here it is - fffffffefde97e70 is not mapped in the pagetable, PMD is 0.

Ok, can you upload your patches somewhere and tell me exactly how to
reproduce this so that I can take a look too?

Thanks.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--