powerpc/ftrace: Fix stack teardown in ftrace_no_trace
authorNaveen N Rao <naveen@kernel.org>
Thu, 30 Nov 2023 06:59:47 +0000 (12:29 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 5 Dec 2023 03:14:12 +0000 (14:14 +1100)
Commit 41a506ef71eb ("powerpc/ftrace: Create a dummy stackframe to fix
stack unwind") added use of a new stack frame on ftrace entry to fix
stack unwind. However, the commit missed updating the offset used while
tearing down the ftrace stack when ftrace is disabled. Fix the same.

In addition, the commit missed saving the correct stack pointer in
pt_regs. Update the same.

Fixes: 41a506ef71eb ("powerpc/ftrace: Create a dummy stackframe to fix stack unwind")
Cc: stable@vger.kernel.org # v6.5+
Signed-off-by: Naveen N Rao <naveen@kernel.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20231130065947.2188860-1-naveen@kernel.org
arch/powerpc/kernel/trace/ftrace_entry.S

index 90701885762cf1ccbd739f93d8a2179811dce4a1..40677416d7b2622da03574fdbdbb86057fff95ac 100644 (file)
@@ -62,7 +62,7 @@
        .endif
 
        /* Save previous stack pointer (r1) */
-       addi    r8, r1, SWITCH_FRAME_SIZE
+       addi    r8, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE
        PPC_STL r8, GPR1(r1)
 
        .if \allregs == 1
@@ -182,7 +182,7 @@ ftrace_no_trace:
        mflr    r3
        mtctr   r3
        REST_GPR(3, r1)
-       addi    r1, r1, SWITCH_FRAME_SIZE
+       addi    r1, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE
        mtlr    r0
        bctr
 #endif