[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170626094737.d2pzetkhe2sorn6m@gmail.com>
Date: Mon, 26 Jun 2017 11:47:38 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Baoquan He <bhe@...hat.com>
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>
Subject: Re: [PATCH] x86/boot/KASLR: Skip relocation handling in no kaslr case
* Baoquan He <bhe@...hat.com> wrote:
> Kdump kernel will reset to firmware after crash is trigered when
> crashkernel=xxM,high is added to kernel command line. Kexec has the
> same phenomenon. This only happened on system with kaslr code
> compiled in and kernel option 'nokaslr'is added. Both of them works
> well when kaslr is enabled.
>
> When crashkernel high is set or kexec case, kexec/kdump kernel will be
> put above 4G. Since we assign the original loading address of kernel to
> virt_addr as initial value, the virt_addr will be larger than 1G if kaslr
> is disabled, it exceeds the kernel mapping size which is only 1G. Then
> it will cause relocation handling error in handle_relocations().
So instead of whacking yet another kexec mole, how could we turn this into a more
debuggable warning (either during build or during the failed bootup) instead of a
crash and reset (triple fault?) back to the BIOS screen?
If kexec/kdump wants to do crazy things they should at least be _debuggable_ in a
straightforward manner.
Thanks,
Ingo
Powered by blists - more mailing lists