Re: [PATCH v4 04/17] arm64: kernel: avoid x18 __cpu_soft_restart

From: Mark Rutland
Date: Mon Nov 04 2019 - 06:39:39 EST


On Fri, Nov 01, 2019 at 03:11:37PM -0700, Sami Tolvanen wrote:
> From: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
>
> The code in __cpu_soft_restart() uses x18 as an arbitrary temp register,
> which will shortly be disallowed. So use x8 instead.
>
> Link: https://patchwork.kernel.org/patch/9836877/
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> [Sami: updated commit message]
> Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx>
> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

Trivial nit, but the commit title is missing "in" between x18 and
__cpu_soft_restart.

Mark.

> ---
> arch/arm64/kernel/cpu-reset.S | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/kernel/cpu-reset.S b/arch/arm64/kernel/cpu-reset.S
> index 6ea337d464c4..32c7bf858dd9 100644
> --- a/arch/arm64/kernel/cpu-reset.S
> +++ b/arch/arm64/kernel/cpu-reset.S
> @@ -42,11 +42,11 @@ ENTRY(__cpu_soft_restart)
> mov x0, #HVC_SOFT_RESTART
> hvc #0 // no return
>
> -1: mov x18, x1 // entry
> +1: mov x8, x1 // entry
> mov x0, x2 // arg0
> mov x1, x3 // arg1
> mov x2, x4 // arg2
> - br x18
> + br x8
> ENDPROC(__cpu_soft_restart)
>
> .popsection
> --
> 2.24.0.rc1.363.gb1bccd3e3d-goog
>