diff options
Diffstat (limited to 'arch/ia64/kernel/process.c')
-rw-r--r-- | arch/ia64/kernel/process.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index ebb71f3d6d19..6e35bff05d59 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/efi.h> | 27 | #include <linux/efi.h> |
28 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
29 | #include <linux/delay.h> | 29 | #include <linux/delay.h> |
30 | #include <linux/kprobes.h> | ||
30 | 31 | ||
31 | #include <asm/cpu.h> | 32 | #include <asm/cpu.h> |
32 | #include <asm/delay.h> | 33 | #include <asm/delay.h> |
@@ -707,6 +708,13 @@ kernel_thread_helper (int (*fn)(void *), void *arg) | |||
707 | void | 708 | void |
708 | flush_thread (void) | 709 | flush_thread (void) |
709 | { | 710 | { |
711 | /* | ||
712 | * Remove function-return probe instances associated with this task | ||
713 | * and put them back on the free list. Do not insert an exit probe for | ||
714 | * this function, it will be disabled by kprobe_flush_task if you do. | ||
715 | */ | ||
716 | kprobe_flush_task(current); | ||
717 | |||
710 | /* drop floating-point and debug-register state if it exists: */ | 718 | /* drop floating-point and debug-register state if it exists: */ |
711 | current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID); | 719 | current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID); |
712 | ia64_drop_fpu(current); | 720 | ia64_drop_fpu(current); |
@@ -721,6 +729,14 @@ flush_thread (void) | |||
721 | void | 729 | void |
722 | exit_thread (void) | 730 | exit_thread (void) |
723 | { | 731 | { |
732 | |||
733 | /* | ||
734 | * Remove function-return probe instances associated with this task | ||
735 | * and put them back on the free list. Do not insert an exit probe for | ||
736 | * this function, it will be disabled by kprobe_flush_task if you do. | ||
737 | */ | ||
738 | kprobe_flush_task(current); | ||
739 | |||
724 | ia64_drop_fpu(current); | 740 | ia64_drop_fpu(current); |
725 | #ifdef CONFIG_PERFMON | 741 | #ifdef CONFIG_PERFMON |
726 | /* if needed, stop monitoring and flush state to perfmon context */ | 742 | /* if needed, stop monitoring and flush state to perfmon context */ |