Re: [patch 05/18] powerpc/syscall: Use syscall_enter_from_user_mode_randomize_stack()

From: Jinjie Ruan

Date: Wed Jul 08 2026 - 22:41:51 EST




On 7/8/2026 3:06 AM, Thomas Gleixner wrote:
> 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>
> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> ---
> arch/powerpc/kernel/syscall.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> --- 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(struc
> 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);

Reviewed-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>

>
> if (unlikely(r0 >= NR_syscalls)) {
> if (unlikely(trap_is_unsupported_scv(regs))) {
>