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

2016-01-26 Thread Borislav Petkov
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 
> Suggested-by: Brian Gerst 
> ---
>  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)
-- 


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

2016-01-22 Thread Alexander Kuleshov
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 
Suggested-by: Brian Gerst 
---
 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
 
/*
-- 
2.7.0.25.gfc10eb5