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: Christophe Leroy <christophe.leroy@c-s.fr> Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/23eddf49abb03d1359fa0be4206998eb3800f42c.1585670437.git.christophe.leroy@c-s.fr
This commit is contained in:
parent
a616c44211
commit
7cdf440138
|
@ -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)
|
||||||
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:
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue