arm64: ssbd: Add global mitigation state accessor
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 20 Jul 2018 09:53:04 +0000 (10:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 22 Jul 2018 12:28:51 +0000 (14:28 +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 0bd5ebfb328ee0f75a3d09188711542d113536f7..a2415ee6b8a306d819eca143532c3b3a9ed2fc09 100644 (file)
@@ -268,6 +268,16 @@ static inline bool system_uses_ttbr0_pan(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