diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/ftrace.c | 9 |
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 | ||