On Wed, 2019-08-28 at 19:03 +0800, Jason Yan wrote: > > On 2019/8/28 12:54, Scott Wood wrote: > > On Fri, Aug 09, 2019 at 06:07:54PM +0800, Jason Yan wrote: > > > +/* > > > + * To see if we need to relocate the kernel to a random offset > > > + * void *dt_ptr - address of the device tree > > > + * phys_addr_t size - size of the first memory block > > > + */ > > > +notrace void __init kaslr_early_init(void *dt_ptr, phys_addr_t size) > > > +{ > > > + unsigned long tlb_virt; > > > + phys_addr_t tlb_phys; > > > + unsigned long offset; > > > + unsigned long kernel_sz; > > > + > > > + kernel_sz = (unsigned long)_end - KERNELBASE; > > > > Why KERNELBASE and not kernstart_addr? > > > > Did you mean kernstart_virt_addr? It should be kernstart_virt_addr. Yes, kernstart_virt_addr. KERNELBASE will be incorrect if the kernel was loaded at a nonzero physical address without CONFIG_PHYSICAL_START being adjusted to match. -Scott