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