diff options
author | Michal Suchanek <msuchanek@suse.de> | 2018-04-24 14:15:55 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-06-03 20:43:44 +1000 |
commit | 2eea7f067f495e33b8b116b35b5988ab2b8aec55 (patch) | |
tree | ed00f86636a5220a2ddd369284af72cf1deb79ff /arch/powerpc/kernel/security.c | |
parent | a6b3964ad71a61bb7c61d80a60bea7d42187b2eb (diff) | |
download | linux-stable-2eea7f067f495e33b8b116b35b5988ab2b8aec55.tar.gz linux-stable-2eea7f067f495e33b8b116b35b5988ab2b8aec55.tar.bz2 linux-stable-2eea7f067f495e33b8b116b35b5988ab2b8aec55.zip |
powerpc/64s: Add support for ori barrier_nospec patching
Based on the RFI patching. This is required to be able to disable the
speculation barrier.
Only one barrier type is supported and it does nothing when the
firmware does not enable it. Also re-patching modules is not supported
So the only meaningful thing that can be done is patching out the
speculation barrier at boot when the user says it is not wanted.
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/security.c')
-rw-r--r-- | arch/powerpc/kernel/security.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/security.c b/arch/powerpc/kernel/security.c index bab5a27ea805..b963eae0b0a0 100644 --- a/arch/powerpc/kernel/security.c +++ b/arch/powerpc/kernel/security.c @@ -9,10 +9,19 @@ #include <linux/seq_buf.h> #include <asm/security_features.h> +#include <asm/setup.h> unsigned long powerpc_security_features __read_mostly = SEC_FTR_DEFAULT; +static bool barrier_nospec_enabled; + +static void enable_barrier_nospec(bool enable) +{ + barrier_nospec_enabled = enable; + do_barrier_nospec_fixups(enable); +} + ssize_t cpu_show_meltdown(struct device *dev, struct device_attribute *attr, char *buf) { bool thread_priv; |