2021-06-28 06:57:56

by Christophe Leroy

[permalink] [raw]
Subject: [PATCH] powerpc/32s: Fix setup_{kuap/kuep}() on SMP

On SMP, setup_kup() is also called from start_secondary().

start_secondary() is not an __init function.

Remove the __init marker from setup_kuep() and and setup_kuap().

Reported-by: kernel test robot <[email protected]>
Fixes: 86f46f343272 ("powerpc/32s: Initialise KUAP and KUEP in C").
Signed-off-by: Christophe Leroy <[email protected]>
---
arch/powerpc/mm/book3s32/kuap.c | 2 +-
arch/powerpc/mm/book3s32/kuep.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/mm/book3s32/kuap.c b/arch/powerpc/mm/book3s32/kuap.c
index 9df6911b8fde..0f920f09af57 100644
--- a/arch/powerpc/mm/book3s32/kuap.c
+++ b/arch/powerpc/mm/book3s32/kuap.c
@@ -18,7 +18,7 @@ void kuap_unlock_all_ool(void)
}
EXPORT_SYMBOL(kuap_unlock_all_ool);

-void __init setup_kuap(bool disabled)
+void setup_kuap(bool disabled)
{
if (!disabled)
kuap_lock_all_ool();
diff --git a/arch/powerpc/mm/book3s32/kuep.c b/arch/powerpc/mm/book3s32/kuep.c
index 3f6eb6e23fca..c20733d6e02c 100644
--- a/arch/powerpc/mm/book3s32/kuep.c
+++ b/arch/powerpc/mm/book3s32/kuep.c
@@ -5,7 +5,7 @@

struct static_key_false disable_kuep_key;

-void __init setup_kuep(bool disabled)
+void setup_kuep(bool disabled)
{
if (!disabled)
kuep_lock();
--
2.25.0


2021-06-30 13:16:44

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] powerpc/32s: Fix setup_{kuap/kuep}() on SMP

On Mon, 28 Jun 2021 06:56:11 +0000 (UTC), Christophe Leroy wrote:
> On SMP, setup_kup() is also called from start_secondary().
>
> start_secondary() is not an __init function.
>
> Remove the __init marker from setup_kuep() and and setup_kuap().

Applied to powerpc/next.

[1/1] powerpc/32s: Fix setup_{kuap/kuep}() on SMP
https://git.kernel.org/powerpc/c/c89e632658e793fbbdcbfbe80a6c13bbf7203e9b

cheers