Messages in this thread | | | Date | Wed, 30 Apr 2014 12:52:11 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] earlyprintk=efi,keep fix |
| |
On Wed, 30 Apr 2014 10:13:03 +0800 Dave Young <dyoung@redhat.com> 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 one early initcall efi_ioremap_fb which will map the whole > efi fb for later use. OTOH, adding a wrapper function efi_ioremap which will call > early_ioremap before ioremap is available. > > With this patch applied efi boot ok with earlyprintk=efi,keep console=efi >
CONFIG_DEBUG_SECTION_MISMATCH should have detected this, but CONFIG_DEBUG_SECTION_MISMATCH doesn't seem to work any more. scripts/Makefile.modpost appears to be trying to pass -S to modpost if CONFIG_DEBUG_SECTION_MISMATCH, but I'm not seeing any warnings. The CONFIG_DEBUG_SECTION_MISMATCH Kconfig help is not useful. What did we do?
Shudder. I'll assume Matt will handle this patch?
| |