csky: Fixup kprobes handler couldn't change pc
authorGuo Ren <guoren@linux.alibaba.com>
Tue, 28 Jul 2020 16:25:23 +0000 (16:25 +0000)
committerGuo Ren <guoren@linux.alibaba.com>
Fri, 31 Jul 2020 01:51:57 +0000 (01:51 +0000)
The "Changing Execution Path" section in the Documentation/kprobes.txt
said:

Since kprobes can probe into a running kernel code, it can change the
register set, including instruction pointer.

Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Cc: Arnd Bergmann <arnd@arndb.de>
arch/csky/abiv2/mcount.S

index 911512b..d745e10 100644 (file)
@@ -55,7 +55,9 @@
 
 .macro mcount_exit_regs
        RESTORE_REGS_FTRACE
-       ldw     t1, (sp, 0)
+       subi    sp, 152
+       ldw     t1, (sp, 4)
+       addi    sp, 152
        ldw     r8, (sp, 4)
        ldw     lr, (sp, 8)
        addi    sp, 12