ftrace/x86: Use breakpoints for converting function graph caller
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Wed, 12 Feb 2014 01:19:44 +0000 (20:19 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 12 Feb 2014 01:19:44 +0000 (20:19 -0500)
commit87fbb2ac6073a7039303517546a76074feb14c84
treee6f5536215978fd41cc325fb497834c1d96bba39
parentd651aa1d68a2f0a7ee65697b04c6a92f8c0a12f2
ftrace/x86: Use breakpoints for converting function graph caller

When the conversion was made to remove stop machine and use the breakpoint
logic instead, the modification of the function graph caller is still
done directly as though it was being done under stop machine.

As it is not converted via stop machine anymore, there is a possibility
that the code could be layed across cache lines and if another CPU is
accessing that function graph call when it is being updated, it could
cause a General Protection Fault.

Convert the update of the function graph caller to use the breakpoint
method as well.

Cc: H. Peter Anvin <hpa@zytor.com>
Cc: stable@vger.kernel.org # 3.5+
Fixes: 08d636b6d4fb "ftrace/x86: Have arch x86_64 use breakpoints instead of stop machine"
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
arch/x86/kernel/ftrace.c