Re: [RFC PATCH] x86_64/mm/boot: Fix kernel_ident_mapping_init() failure for kexec

From: Kirill A. Shutemov
Date: Fri Mar 24 2017 - 08:07:12 EST


On Mon, Mar 20, 2017 at 02:11:31PM +0800, Xunlei Pang wrote:
> I found that the kdump is broken on linux-4.11.0-rc2+

That's actually tip tree or linux-next. The problematic change is not in
Linus' tree.

> , probably
> due to the 5level-paging feature that "#define p4d_present(p4d) 1",
> as a result in ident_p4d_init(), it will go into ident_pud_init()
> directly without allocating the new pud.
>
> Looks like this patch can make it work again.

Okay, that's bisectability issue. Uncovered by splitting my patchset into
parts.

Could you check if applying "Part 2" of 5-level paging changes[1] would
help you?

Making the code work with both <asm-generic/5level-fixup.h> and
<asm-generic/pgtable-nop4d.h> would make it even uglier. Not sure if it
makes sense to address it on its own if second part fixes the situation.

[1] http://lkml.kernel.org/r/20170317185515.8636-1-kirill.shutemov@xxxxxxxxxxxxxxx

--
Kirill A. Shutemov