[kexec-tools PATCH] x86, kaslr: add alternative way to locate kernel text mapping area

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

 



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.

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