]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
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 911512bf480f3ef9102e3d24b072dc2a37fd6d07..d745e10c10b0268302cf34a0d3376c6f1ca0928f 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