kexec fails to boot kernels where CONFIG_RANDOMIZE_BASE=y is set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 22, 2014 at 11:19:41AM +0800, WANG Chao wrote:
> On 08/21/14 at 02:10pm, Vivek Goyal wrote:
> >
> > If kernel is being moved physically, then we potentially have the issue of
> > it stomping other things. So how do we make sure that it does not overwrite
> > initramfs, or previous kernel's page tables or something else?
> 
> In case you don't read that part, memory of initrd, cmdline and others
> won't be overwritten.
> 
> This work is done in x86/boot/compressed/aslr.c::mem_avoid_init().

Ok, got it. so cmdline and initrd info is present in bootparams and kernel
can use that to avoid stomping those.

But that still does not protect ELF header segment (prepared in case of
kdump) and page tables setup by previous kernel.

So may be this failure happens because new kernel stomps over page tables
of old kernel. But if that theory is right, then we should be able to
kexec using 32bit entry point of bzImage.

Thomas, have you had any success with that?

Thanks
Vivek



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux