git.samba.org
/
sfrench
/
cifs-2.6.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a616c44
)
powerpc/entry32: Blacklist syscall exit points for kprobe.
author
Christophe Leroy
<christophe.leroy@c-s.fr>
Tue, 31 Mar 2020 16:03:46 +0000
(16:03 +0000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Tue, 2 Jun 2020 10:59:12 +0000
(20:59 +1000)
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
arch/powerpc/kernel/entry_32.S
patch
|
blob
|
history
diff --git
a/arch/powerpc/kernel/entry_32.S
b/arch/powerpc/kernel/entry_32.S
index c9fc6ea36bc6c181a31c2950d2e3ceefaa1bfd39..5fa192b33509acaa67c9b7e5b8aed23644d4492d 100644
(file)
--- a/
arch/powerpc/kernel/entry_32.S
+++ b/
arch/powerpc/kernel/entry_32.S
@@
-462,6
+462,7
@@
END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX)
lwz r7,_NIP(r1)
lwz r2,GPR2(r1)
lwz r1,GPR1(r1)
+syscall_exit_finish:
#if defined(CONFIG_PPC_8xx) && defined(CONFIG_PERF_EVENTS)
mtspr SPRN_NRI, r0
#endif
@@
-469,6
+470,7
@@
END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX)
mtspr SPRN_SRR1,r8
SYNC
RFI
+_ASM_NOKPROBE_SYMBOL(syscall_exit_finish)
#ifdef CONFIG_44x
2: li r7,0
iccci r0,r0
@@
-600,6
+602,7
@@
ret_from_kernel_syscall:
mtspr SPRN_SRR1, r10
SYNC
RFI
+_ASM_NOKPROBE_SYMBOL(ret_from_kernel_syscall)
/*
* The fork/clone functions need to copy the full register set into