aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 18828aee8781..f20f49f7d244 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)
471 "1: " _ASM_MOV " (%[parent_old]), %[old]\n" 471 "1: " _ASM_MOV " (%[parent_old]), %[old]\n"
472 "2: " _ASM_MOV " %[return_hooker], (%[parent_replaced])\n" 472 "2: " _ASM_MOV " %[return_hooker], (%[parent_replaced])\n"
473 " movl $0, %[faulted]\n" 473 " movl $0, %[faulted]\n"
474 "3:\n"
474 475
475 ".section .fixup, \"ax\"\n" 476 ".section .fixup, \"ax\"\n"
476 "3: movl $1, %[faulted]\n" 477 "4: movl $1, %[faulted]\n"
478 " jmp 3b\n"
477 ".previous\n" 479 ".previous\n"
478 480
479 _ASM_EXTABLE(1b, 3b) 481 _ASM_EXTABLE(1b, 4b)
480 _ASM_EXTABLE(2b, 3b) 482 _ASM_EXTABLE(2b, 4b)
481 483
482 : [parent_replaced] "=r" (parent), [old] "=r" (old), 484 : [parent_replaced] "=r" (parent), [old] "=r" (old),
483 [faulted] "=r" (faulted) 485 [faulted] "=r" (faulted)