On 7/7/26 21:05, Thomas Gleixner wrote:
add_random_kstack_offset() is invoked before syscall_enter_from_user_mode()
establishes state. That's wrong because add_random_kstack_offset() calls
into instrumentable code.

Move it after syscall_enter_from_user_mode() to ensure that state is
correctly established.

Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Shrikanth Hegde <[email protected]>
Cc: [email protected]
---
  arch/powerpc/kernel/syscall.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/powerpc/kernel/syscall.c
+++ b/arch/powerpc/kernel/syscall.c
@@ -19,8 +19,8 @@ notrace long system_call_exception(struc
        long ret;
        syscall_fn f;
- add_random_kstack_offset();
        r0 = syscall_enter_from_user_mode(regs, r0);
+       add_random_kstack_offset();
if (unlikely(r0 >= NR_syscalls)) {
                if (unlikely(trap_is_unsupported_scv(regs))) {

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>

Reply via email to