Re: [PATCH v7 04/12] x86: relocate_kernel - Adapt assembly for PIE support

From: Kees Cook
Date: Mon Jun 10 2019 - 17:37:33 EST


On Mon, May 20, 2019 at 04:19:29PM -0700, Thomas Garnier wrote:
> From: Thomas Garnier <thgarnie@xxxxxxxxxx>
>
> Change the assembly code to use only absolute references of symbols for the
> kernel to be PIE compatible.
>
> Position Independent Executable (PIE) support will allow to extend the
> KASLR randomization range below 0xffffffff80000000.
>
> Signed-off-by: Thomas Garnier <thgarnie@xxxxxxxxxx>

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

> ---
> arch/x86/kernel/relocate_kernel_64.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S
> index 11eda21eb697..3320368b6ec9 100644
> --- a/arch/x86/kernel/relocate_kernel_64.S
> +++ b/arch/x86/kernel/relocate_kernel_64.S
> @@ -208,7 +208,7 @@ identity_mapped:
> movq %rax, %cr3
> lea PAGE_SIZE(%r8), %rsp
> call swap_pages
> - movq $virtual_mapped, %rax
> + movabsq $virtual_mapped, %rax
> pushq %rax
> ret
>
> --
> 2.21.0.1020.gf2820cf01a-goog
>

--
Kees Cook