On 03/27/14 at 05:57pm, Vivek Goyal wrote: > On Thu, Mar 27, 2014 at 06:25:48PM +0800, WANG Chao wrote: > > [..] > > @@ -169,6 +200,31 @@ static int get_kernel_vaddr_and_size(struct kexec_info *UNUSED(info), > > } > > } > > } > > + > > + /* Go through /proc/kcore again. This time we find the region > > + * where _stext symbol is located in */ > > Hi Chao, > > How about doing it reverse. Using _stext seems to be the right thing to > do both for kaslr enabled as well as kaslr disabled kernel. Right now > assuming that kernel text mapping fall in a certain area is a hack > and will break if kernel addresses are shifted again for whatever reason. > > So we can first look for kernel mapping using _stext. If /proc/kallsyms > is not present, then we can fall back using hardcoded address range > between X86_64__START_KERNEL_map and X86_64__START_KERNEL_map + > X86_64_KERNEL_TEXT_SIZE. Good point. I'll post V2. Thanks WANG Chao