Re: KASLR causes intermittent boot failures on some systems

From: Baoquan He
Date: Mon May 01 2017 - 07:35:11 EST


The root cause has been found out finally. It's caused by code bug in
sync_global_pgds which is wrong for loop count calculation.

Will post patch.


On 04/07/17 at 10:41am, Jeff Moyer wrote:
> Hi,
> commit 021182e52fe01 ("x86/mm: Enable KASLR for physical mapping memory
> regions") causes some of my systems with persistent memory (whether real
> or emulated) to fail to boot with a couple of different crash
> signatures. The first signature is a NMI watchdog lockup of all but 1
> cpu, which causes much difficulty in extracting useful information from
> the console. The second variant is an invalid paging request, listed
> below.
> On some systems, I haven't hit this problem at all. Other systems
> experience a failed boot maybe 20-30% of the time. To reproduce it,
> configure some emulated pmem on your system. You can find directions
> for that here:
> Install ndctl (
> Configure the namespace:
> # ndctl create-namespace -f -e namespace0.0 -m memory
> Then just reboot several times (5 should be enough), and hopefully
> you'll hit the issue.
> I've attached both my .config and the dmesg output from a successful
> boot at the end of this mail.