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

From: Dave Young
Date: Sun Sep 22 2013 - 10:32:14 EST


On 09/22/13 at 10:00pm, Dave Young wrote:
> On 09/22/13 at 03:37pm, Borislav Petkov wrote:
> > 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?
>
> Yes, it's 2nd kernel.
>
> >
> > > 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?
>
> Ok, will put somewhere after a little cleanup today.

Here it is:
https://people.redhat.com/ruyang/kexec-efi/for-bp/

userspace patches are also necessary, they are under kexec-tools-patches/

Just test with below steps:
kexec -l /boot/vmlinuz-3.12.0-rc1+ --reuse-cmdline --append "kexecboot=1"
kexec -e

>
> >
> > Thanks.
> >
> > --
> > Regards/Gruss,
> > Boris.
> >
> > Sent from a fat crate under my desk. Formatting is fine.
> > --
--
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/