Re: [RFC PATCH] x86/head_64.S: remove redundant check that kernel address is 2M aligned

From: Alexander Kuleshov
Date: Sat Jan 23 2016 - 01:41:43 EST


Hello Brian,

On 01-22-16, Brian Gerst wrote:
> >
> > - /* Is the address not 2M aligned? */
> > - movq %rbp, %rax
> > - andl $~PMD_PAGE_MASK, %eax
> > - testl %eax, %eax
> > - jnz bad_address
> > -
> > /*
> > * Is the address too large?
> > */
>
> I think we still need to do the check, in case we came from a 64-bit
> bootloader that directly jumped to startup_64. However, this check
> can be simplified to:
>
> testl $~PMD_PAGE_MASK, %ebp
> jnz bad_address

Ah, ok, in this way we can't trust a bootloader. I just thought that
64-bit entry point is startup_64 from arch/x86/boot/compressed/head_64.S

Thank you.