[PATCH 1/2] arm64: don't make early_*map() calls post paging_init()
Leif Lindholm
leif.lindholm at linaro.org
Tue Jan 6 05:39:17 PST 2015
On Tue, Jan 06, 2015 at 09:38:24AM +0000, Ard Biesheuvel wrote:
> > diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c
> > index 6fac253..790adb5 100644
> > --- a/arch/arm64/kernel/efi.c
> > +++ b/arch/arm64/kernel/efi.c
> > @@ -393,6 +385,8 @@ static int __init arm64_enter_virtual_mode(void)
> > mapsize);
> > memmap.map_end = memmap.map + mapsize;
> >
> > + efi_setup_idmap();
> > +
>
> I think this is incorrect: we may call early_alloc() here which is
> only allowed before paging_init()
Hmm...
Technically, the existing code is already breaking this restriction
then - but my patch moved that _way_ later in the boot process (early
initcall instead of setup_arch()).
I'll resend with an alternative solution that leaves the
efi_setup_idmap() ordering vs paging init() in its current state.
Since efi_setup_idmap() goes away with your "stable UEFI virtual
mappings for kexec" series, I don't want to make changes here and for
potential backports too invasive.
/
Leif
More information about the linux-arm-kernel
mailing list