Restores caller's toc pointer to r2, on a sibling call this will
uncorrupt the caller's toc pointer and otherwise will be redundant

Signed-off-by: Ryan Sullivan <rysul...@redhat.com>
---
 arch/powerpc/kernel/trace/ftrace_entry.S | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/powerpc/kernel/trace/ftrace_entry.S 
b/arch/powerpc/kernel/trace/ftrace_entry.S
index 76dbe9fd2c0f..4dfbe6076ad1 100644
--- a/arch/powerpc/kernel/trace/ftrace_entry.S
+++ b/arch/powerpc/kernel/trace/ftrace_entry.S
@@ -244,6 +244,9 @@ livepatch_handler:
        mtlr    r12
        ld      r2,  -24(r11)
 
+       /* Restore toc to caller's stack in case of sibling call */
+       std     r2, 24(r1)
+
        /* Pop livepatch stack frame */
        ld      r12, PACA_THREAD_INFO(r13)
        subi    r11, r11, 24
-- 
2.44.0

Reply via email to