diff options
| -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 | ||
