aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ptrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/ptrace.c')
-rw-r--r--arch/x86/kernel/ptrace.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index adbb24322d8f..b32a8ee53381 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -887,37 +887,19 @@ static int ptrace_bts_size(struct task_struct *child)
887 return (trace->ds.top - trace->ds.begin) / trace->ds.size; 887 return (trace->ds.top - trace->ds.begin) / trace->ds.size;
888} 888}
889 889
890static inline void ptrace_bts_fork(struct task_struct *tsk)
891{
892 tsk->bts = NULL;
893}
894
895/* 890/*
896 * Called from __ptrace_unlink() after the child has been moved back 891 * Called from __ptrace_unlink() after the child has been moved back
897 * to its original parent. 892 * to its original parent.
898 */ 893 */
899static inline void ptrace_bts_untrace(struct task_struct *child) 894void ptrace_bts_untrace(struct task_struct *child)
900{ 895{
901 if (unlikely(child->bts)) { 896 if (unlikely(child->bts)) {
902 free_bts_context(child->bts); 897 free_bts_context(child->bts);
903 child->bts = NULL; 898 child->bts = NULL;
904 } 899 }
905} 900}
906#else
907static inline void ptrace_bts_fork(struct task_struct *tsk) {}
908static inline void ptrace_bts_untrace(struct task_struct *child) {}
909#endif /* CONFIG_X86_PTRACE_BTS */ 901#endif /* CONFIG_X86_PTRACE_BTS */
910 902
911void x86_ptrace_fork(struct task_struct *child, unsigned long clone_flags)
912{
913 ptrace_bts_fork(child);
914}
915
916void x86_ptrace_untrace(struct task_struct *child)
917{
918 ptrace_bts_untrace(child);
919}
920
921/* 903/*
922 * Called by kernel/ptrace.c when detaching.. 904 * Called by kernel/ptrace.c when detaching..
923 * 905 *