aboutsummaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-02-11 10:03:11 +0100
committerIngo Molnar <mingo@elte.hu>2009-02-11 10:03:11 +0100
commitd524e03207591a6de7e6b5069aabc778e3f0f5f8 (patch)
treec98f206e8df11f8ecbdd74dba79c29d1f90dea5a /arch/x86
parentae216dd239765afd592f65d94d8430244cf77ed1 (diff)
parent7d6d49b1f5551b87bd59c66c10747b89367760fd (diff)
Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/ftrace.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 18828aee878..f20f49f7d24 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -471,13 +471,15 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
"1: " _ASM_MOV " (%[parent_old]), %[old]\n"
"2: " _ASM_MOV " %[return_hooker], (%[parent_replaced])\n"
" movl $0, %[faulted]\n"
+ "3:\n"
".section .fixup, \"ax\"\n"
- "3: movl $1, %[faulted]\n"
+ "4: movl $1, %[faulted]\n"
+ " jmp 3b\n"
".previous\n"
- _ASM_EXTABLE(1b, 3b)
- _ASM_EXTABLE(2b, 3b)
+ _ASM_EXTABLE(1b, 4b)
+ _ASM_EXTABLE(2b, 4b)
: [parent_replaced] "=r" (parent), [old] "=r" (old),
[faulted] "=r" (faulted)