From 8cc585eb32b429271db6b338b08871350695b56c Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Tue, 9 Jun 2020 12:53:16 +0100 Subject: [PATCH] Revert "FROMLIST: arm64: preserve x18 when CPU is suspended" Shadow call stack is now merged upstream for 5.9, so revert the patches cherry-picked into android-mainline in preparation for pulling the upstream version instead. This reverts commit ee3f10f584ac69d0e34a7aedbea9448b015f8347. Signed-off-by: Will Deacon Change-Id: Ie68af0533b0d25d8aa925ef365c897941d0dd21b --- arch/arm64/include/asm/suspend.h | 2 +- arch/arm64/mm/proc.S | 14 -------------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/arch/arm64/include/asm/suspend.h b/arch/arm64/include/asm/suspend.h index 0cde2f473971..8939c87c4dce 100644 --- a/arch/arm64/include/asm/suspend.h +++ b/arch/arm64/include/asm/suspend.h @@ -2,7 +2,7 @@ #ifndef __ASM_SUSPEND_H #define __ASM_SUSPEND_H -#define NR_CTX_REGS 13 +#define NR_CTX_REGS 12 #define NR_CALLEE_SAVED_REGS 12 /* diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S index ed15be0f8103..197a9ba2d5ea 100644 --- a/arch/arm64/mm/proc.S +++ b/arch/arm64/mm/proc.S @@ -58,8 +58,6 @@ * cpu_do_suspend - save CPU registers context * * x0: virtual address of context pointer - * - * This must be kept in sync with struct cpu_suspend_ctx in . */ SYM_FUNC_START(cpu_do_suspend) mrs x2, tpidr_el0 @@ -84,11 +82,6 @@ alternative_endif stp x8, x9, [x0, #48] stp x10, x11, [x0, #64] stp x12, x13, [x0, #80] - /* - * Save x18 as it may be used as a platform register, e.g. by shadow - * call stack. - */ - str x18, [x0, #96] ret SYM_FUNC_END(cpu_do_suspend) @@ -105,13 +98,6 @@ SYM_FUNC_START(cpu_do_resume) ldp x9, x10, [x0, #48] ldp x11, x12, [x0, #64] ldp x13, x14, [x0, #80] - /* - * Restore x18, as it may be used as a platform register, and clear - * the buffer to minimize the risk of exposure when used for shadow - * call stack. - */ - ldr x18, [x0, #96] - str xzr, [x0, #96] msr tpidr_el0, x2 msr tpidrro_el0, x3 msr contextidr_el1, x4