aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ptrace.c
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2009-04-03 10:43:48 -0400
committerIngo Molnar <mingo@elte.hu>2009-04-07 07:36:31 -0400
commit0f4814065ff8c24ca8bfd75c9b73502be152c287 (patch)
treef3816ecb64ee198235d2e9c1649de3241c3f2ac2 /arch/x86/kernel/ptrace.c
parentee811517a5604aa63fae803b7c044712699e1303 (diff)
x86, ptrace: add bts context unconditionally
Add the ptrace bts context field to task_struct unconditionally. Initialize the field directly in copy_process(). Remove all the unneeded functionality used to initialize that field. Signed-off-by: Markus Metzger <markus.t.metzger@intel.com> Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144603.292754000@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
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 *