From 54e1b51f5b34e54059822a637dcdc842e48c11e3 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Tue, 3 Apr 2018 10:44:32 -0700 Subject: [PATCH] FROMLIST: arm64: kernel: avoid x18 in __cpu_soft_restart The code in __cpu_soft_restart() uses x18 as an arbitrary temp register, which will shortly be disallowed. So use x8 instead. Bug: 145210207 Change-Id: Ifeb90566b4e41eb376fd4beaffd55fca8597aa2c (am from https://lore.kernel.org/patchwork/patch/1149053/) Link: https://patchwork.kernel.org/patch/9836877/ Signed-off-by: Ard Biesheuvel Reviewed-by: Mark Rutland Reviewed-by: Kees Cook [Sami: updated commit message] Signed-off-by: Sami Tolvanen --- 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 8021b46c9743..63ccd07d994b 100644 --- a/arch/arm64/kernel/cpu-reset.S +++ b/arch/arm64/kernel/cpu-reset.S @@ -45,11 +45,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