[PATCH v3 05/22] powerpc/32s: Remove capability to disable KUEP at boottime

From: Christophe Leroy
Date: Tue Oct 19 2021 - 03:30:05 EST


Disabling KUEP at boottime makes things unnecessarily complex.

Still allow disabling KUEP at build time, but when it's built-in
it is always there.

Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
---
arch/powerpc/include/asm/book3s/32/kup.h | 3 +--
arch/powerpc/mm/book3s32/kuep.c | 10 ++--------
2 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/32/kup.h b/arch/powerpc/include/asm/book3s/32/kup.h
index 9f38040f0641..fb6c39225dd1 100644
--- a/arch/powerpc/include/asm/book3s/32/kup.h
+++ b/arch/powerpc/include/asm/book3s/32/kup.h
@@ -12,7 +12,6 @@
#include <linux/jump_label.h>

extern struct static_key_false disable_kuap_key;
-extern struct static_key_false disable_kuep_key;

static __always_inline bool kuap_is_disabled(void)
{
@@ -21,7 +20,7 @@ static __always_inline bool kuap_is_disabled(void)

static __always_inline bool kuep_is_disabled(void)
{
- return !IS_ENABLED(CONFIG_PPC_KUEP) || static_branch_unlikely(&disable_kuep_key);
+ return !IS_ENABLED(CONFIG_PPC_KUEP);
}

static inline void kuep_lock(void)
diff --git a/arch/powerpc/mm/book3s32/kuep.c b/arch/powerpc/mm/book3s32/kuep.c
index c20733d6e02c..8474edce3df9 100644
--- a/arch/powerpc/mm/book3s32/kuep.c
+++ b/arch/powerpc/mm/book3s32/kuep.c
@@ -3,18 +3,12 @@
#include <asm/kup.h>
#include <asm/smp.h>

-struct static_key_false disable_kuep_key;
-
void setup_kuep(bool disabled)
{
- if (!disabled)
- kuep_lock();
+ kuep_lock();

if (smp_processor_id() != boot_cpuid)
return;

- if (disabled)
- static_branch_enable(&disable_kuep_key);
- else
- pr_info("Activating Kernel Userspace Execution Prevention\n");
+ pr_info("Activating Kernel Userspace Execution Prevention\n");
}
--
2.31.1