arm64: Disable SCS for hypervisor code
authorSami Tolvanen <samitolvanen@google.com>
Mon, 27 Apr 2020 16:00:15 +0000 (09:00 -0700)
committerWill Deacon <will@kernel.org>
Fri, 15 May 2020 15:35:50 +0000 (16:35 +0100)
Disable SCS for code that runs at a different exception level by
adding __noscs to __hyp_text.

Suggested-by: James Morse <james.morse@arm.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/kvm_hyp.h

index fe57f60f06a8944fff74b2e3f1ed5de6d1790626..875b106c5d98805003f1388adf56fec23385b4ab 100644 (file)
@@ -13,7 +13,7 @@
 #include <asm/kvm_mmu.h>
 #include <asm/sysreg.h>
 
-#define __hyp_text __section(.hyp.text) notrace
+#define __hyp_text __section(.hyp.text) notrace __noscs
 
 #define read_sysreg_elx(r,nvh,vh)                                      \
        ({                                                              \