Re: [PATCH] x86: Add warning when memmap=nn!ss and CONFIG_RANDOMIZE_BASE enabled

From: Dave Jiang
Date: Fri Nov 18 2016 - 12:13:11 EST

Hash: SHA256

On 11/18/2016 10:07 AM, Dan Williams wrote:
> On Fri, Nov 18, 2016 at 8:47 AM, Dave Jiang <dave.jiang@xxxxxxxxx>
> wrote:
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
>> On 11/18/2016 04:33 AM, Thomas Gleixner wrote:
>>> On Thu, 17 Nov 2016, Dave Jiang wrote:
>>>> CONFIG_RANDOMIZE_BASE can place the kernel anywhere. This
>>>> causes a problem for when memmap=nn!ss is used. This
>>>> information is not known until after the kernel starts
>>>> executing and the decision for where the randomized base goes
>>>> happens before the kernel is uncompressed. memmap=nn!ss is
>>>> not reliable in the presence of CONFIG_RANDOMIZE_BASE.
>>> So this is a description of a problem. Now what's missing is a
>>> useful explanation why you think that adding a warning will
>>> make things better.
>>> IMNSHO adding that warning is just a pointless exercise.
>>> Why aren't you addressing the real issue and make the boot
>>> code parse that option and prevent that region from being used
>>> for kernel placement?
>>> The same issue exists for other memmap options as well, not
>>> just for that PMEM thingy.
>>> Thanks,
>>> tglx
>> I wasn't planning to fix it because the pmem memmap option is
>> really only used for testing. Is it possible to parse the kernel
>> commandline parameters before the kernel is uncompressed?
> Apologies, this was my mistake. I missed that we have early boot
> command line parsing in addition to the in-kernel cmdline parsing.
> Dave, I think we could fix this in:
> arch/x86/boot/compressed/kaslr.c::choose_random_location().

Actually it was my fault. I was digging around that and somehow
totally missed the early command line parsing bits.
Version: GnuPG v2