summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@redhat.com>2010-04-27 18:33:49 -0400
committerIngo Molnar <mingo@elte.hu>2010-05-11 09:14:25 +0200
commit829e92458532b1dbfeb972435d45bb060cdbf5a3 (patch)
tree755f5c5e590aec21730afc2bcd680629fe075770 /tools
parentde068ec048f807d4f62b7dda100c23a1365f086f (diff)
downloadlinux-3.10-829e92458532b1dbfeb972435d45bb060cdbf5a3.tar.gz
linux-3.10-829e92458532b1dbfeb972435d45bb060cdbf5a3.tar.bz2
linux-3.10-829e92458532b1dbfeb972435d45bb060cdbf5a3.zip
kprobes/x86: Fix removed int3 checking order
Fix kprobe/x86 to check removed int3 when failing to get kprobe from hlist. Since we have a time window between checking int3 exists on probed address and getting kprobe on that address, we can have following scenario: ------- CPU1 CPU2 hit int3 check int3 exists remove int3 remove kprobe from hlist get kprobe from hlist no kprobe->OOPS! ------- This patch moves int3 checking if there is no kprobe on that address for fixing this problem as follows: ------ CPU1 CPU2 hit int3 remove int3 remove kprobe from hlist get kprobe from hlist no kprobe->check int3 exists ->rollback&retry ------ Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: systemtap <systemtap@sources.redhat.com> Cc: DLE <dle-develop@lists.sourceforge.net> Cc: Dave Anderson <anderson@redhat.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <20100427223348.2322.9112.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions