[tip: core/entry] powerpc/syscall: Use syscall_enter_from_user_mode_randomize_stack()
From: tip-bot2 for Thomas Gleixner
Date: Sun Jul 12 2026 - 08:48:58 EST
The following commit has been merged into the core/entry branch of tip:
Commit-ID: 3b2b9c0198bbcf077f201cd693a0efc597d05405
Gitweb: https://git.kernel.org/tip/3b2b9c0198bbcf077f201cd693a0efc597d05405
Author: Thomas Gleixner <tglx@xxxxxxxxxx>
AuthorDate: Tue, 07 Jul 2026 21:06:15 +02:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxx>
CommitterDate: Sun, 12 Jul 2026 12:38:01 +02:00
powerpc/syscall: Use syscall_enter_from_user_mode_randomize_stack()
syscall_enter_from_user_mode_randomize_stack() replaces
syscall_enter_from_user_mode() and the subsequent invocation of
add_random_kstack_offset().
The advantage is that it applies the stack randomization right after
enter_from_user_mode() and thereby avoids the overhead of get/put_cpu_var()
as that code is invoked with interrupts disabled.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxx>
Tested-by: Mukesh Kumar Chaurasiya (IBM) <mkchauras@xxxxxxxxx>
Reviewed-by: Radu Rendec <radu@xxxxxxxxxx>
Reviewed-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>
Reviewed-by: Philippe Mathieu-Daudé <philmd@xxxxxxxxxxxxxxxx>
Reviewed-by: Mukesh Kumar Chaurasiya (IBM) <mkchauras@xxxxxxxxx>
Link: https://patch.msgid.link/20260707190253.918861529@xxxxxxxxxx
---
arch/powerpc/kernel/syscall.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/powerpc/kernel/syscall.c b/arch/powerpc/kernel/syscall.c
index ee07b2e..b4d0159 100644
--- a/arch/powerpc/kernel/syscall.c
+++ b/arch/powerpc/kernel/syscall.c
@@ -2,7 +2,6 @@
#include <linux/compat.h>
#include <linux/context_tracking.h>
-#include <linux/randomize_kstack.h>
#include <linux/entry-common.h>
#include <asm/interrupt.h>
@@ -19,8 +18,7 @@ notrace long system_call_exception(struct pt_regs *regs, unsigned long r0)
long ret;
syscall_fn f;
- r0 = syscall_enter_from_user_mode(regs, r0);
- add_random_kstack_offset();
+ r0 = syscall_enter_from_user_mode_randomize_stack(regs, r0);
if (unlikely(r0 >= NR_syscalls)) {
if (unlikely(trap_is_unsupported_scv(regs))) {