aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/ftrace.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 18828aee8781..370bafaa43a3 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -468,8 +468,8 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
468 * ignore such a protection. 468 * ignore such a protection.
469 */ 469 */
470 asm volatile( 470 asm volatile(
471 "1: " _ASM_MOV " (%[parent_old]), %[old]\n" 471 "1: " _ASM_MOV " (%[parent]), %[old]\n"
472 "2: " _ASM_MOV " %[return_hooker], (%[parent_replaced])\n" 472 "2: " _ASM_MOV " %[return_hooker], (%[parent])\n"
473 " movl $0, %[faulted]\n" 473 " movl $0, %[faulted]\n"
474 474
475 ".section .fixup, \"ax\"\n" 475 ".section .fixup, \"ax\"\n"
@@ -479,9 +479,8 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
479 _ASM_EXTABLE(1b, 3b) 479 _ASM_EXTABLE(1b, 3b)
480 _ASM_EXTABLE(2b, 3b) 480 _ASM_EXTABLE(2b, 3b)
481 481
482 : [parent_replaced] "=r" (parent), [old] "=r" (old), 482 : [old] "=r" (old), [faulted] "=r" (faulted)
483 [faulted] "=r" (faulted) 483 : [parent] "r" (parent), [return_hooker] "r" (return_hooker)
484 : [parent_old] "0" (parent), [return_hooker] "r" (return_hooker)
485 : "memory" 484 : "memory"
486 ); 485 );
487 486