Commit 7cdf4401 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman

powerpc/entry32: Blacklist syscall exit points for kprobe.

kprobe does not handle events happening in real mode.

The very last part of syscall cannot support a trap.
Add a symbol syscall_exit_finish to identify that part and
blacklist it from kprobe.
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Acked-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/23eddf49abb03d1359fa0be4206998eb3800f42c.1585670437.git.christophe.leroy@c-s.fr
parent a616c442
...@@ -462,6 +462,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX) ...@@ -462,6 +462,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX)
lwz r7,_NIP(r1) lwz r7,_NIP(r1)
lwz r2,GPR2(r1) lwz r2,GPR2(r1)
lwz r1,GPR1(r1) lwz r1,GPR1(r1)
syscall_exit_finish:
#if defined(CONFIG_PPC_8xx) && defined(CONFIG_PERF_EVENTS) #if defined(CONFIG_PPC_8xx) && defined(CONFIG_PERF_EVENTS)
mtspr SPRN_NRI, r0 mtspr SPRN_NRI, r0
#endif #endif
...@@ -469,6 +470,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX) ...@@ -469,6 +470,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX)
mtspr SPRN_SRR1,r8 mtspr SPRN_SRR1,r8
SYNC SYNC
RFI RFI
_ASM_NOKPROBE_SYMBOL(syscall_exit_finish)
#ifdef CONFIG_44x #ifdef CONFIG_44x
2: li r7,0 2: li r7,0
iccci r0,r0 iccci r0,r0
...@@ -600,6 +602,7 @@ ret_from_kernel_syscall: ...@@ -600,6 +602,7 @@ ret_from_kernel_syscall:
mtspr SPRN_SRR1, r10 mtspr SPRN_SRR1, r10
SYNC SYNC
RFI RFI
_ASM_NOKPROBE_SYMBOL(ret_from_kernel_syscall)
/* /*
* The fork/clone functions need to copy the full register set into * The fork/clone functions need to copy the full register set into
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment