Re: [PATCH V2] earlyprintk=efi,keep fix

From: Matt Fleming
Date: Fri May 02 2014 - 09:00:46 EST


On Thu, 01 May, at 09:15:48PM, Dave Young wrote:
>
> earlyprintk=efi,keep will cause kernel hangs while freeing initmem like below:
> [ 2.826089] VFS: Mounted root (ext4 filesystem) readonly on device 254:2.
> [ 2.846592] devtmpfs: mounted
> [ 2.856974] Freeing unused kernel memory: 880K (ffffffff817d4000 - ffffffff818b0000)
>
> It is caused by efi earlyprintk use __init function which will be freed later.
> Such as early_efi_write is marked as __init, also it will use early_ioremap
> which is init function as well.
>
> To fix this issue, I added early initcall early_efi_map_fb which maps the whole
> efi fb for later use. OTOH, adding a wrapper function early_efi_map which calls
> early_ioremap before ioremap is available.
>
> With this patch applied efi boot ok with earlyprintk=efi,keep console=efi
>
> Signed-off-by: Dave Young <dyoung@xxxxxxxxxx>
> ---
> arch/x86/platform/efi/early_printk.c | 83 ++++++++++++++++++++++++++---------
> 1 file changed, 64 insertions(+), 19 deletions(-)

Thanks Dave, applied!

--
Matt Fleming, Intel Open Source Technology Center
--
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/