Re: [PATCH] x86/head_64.S: do not use temporary register to check alignment

From: Borislav Petkov
Date: Tue Jan 26 2016 - 04:31:27 EST


On Sat, Jan 23, 2016 at 12:50:28PM +0600, Alexander Kuleshov wrote:
> We are using temporary %rax register during checking of kernel address
> alignment. We can ged rid of it since testl instruction is safe and does
> not change value of the rbp register.
>
> Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx>
> Suggested-by: Brian Gerst <brgerst@xxxxxxxxx>
> ---
> arch/x86/kernel/head_64.S | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
> index ffdc0e8..7c21029 100644
> --- a/arch/x86/kernel/head_64.S
> +++ b/arch/x86/kernel/head_64.S
> @@ -76,9 +76,7 @@ startup_64:
> subq $_text - __START_KERNEL_map, %rbp
>
> /* Is the address not 2M aligned? */
> - movq %rbp, %rax
> - andl $~PMD_PAGE_MASK, %eax
> - testl %eax, %eax
> + testl $~PMD_PAGE_MASK, %ebp
> jnz bad_address
>
> /*
> --

Applied, thanks.

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--