arm64: ssbd: Add global mitigation state accessor
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 20 Jul 2018 09:56:26 +0000 (10:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 22 Jul 2018 12:27:41 +0000 (14:27 +0200)
commit c32e1736ca03904c03de0e4459a673be194f56fd upstream.

We're about to need the mitigation state in various parts of the
kernel in order to do the right thing for userspace and guests.

Let's expose an accessor that will let other subsystems know
about the state.

Reviewed-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/include/asm/cpufeature.h

index 87a6e47047ff1d8b2566bd27fafd96c73eacc76b..0c1529e020a7c1cee9fa49a055e2e44b403b8c85 100644 (file)
@@ -227,6 +227,16 @@ static inline bool system_supports_mixed_endian_el0(void)
 #define ARM64_SSBD_FORCE_ENABLE                2
 #define ARM64_SSBD_MITIGATED           3
 
+static inline int arm64_get_ssbd_state(void)
+{
+#ifdef CONFIG_ARM64_SSBD
+       extern int ssbd_state;
+       return ssbd_state;
+#else
+       return ARM64_SSBD_UNKNOWN;
+#endif
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif