diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2009-04-03 10:43:48 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-07 07:36:31 -0400 |
commit | 0f4814065ff8c24ca8bfd75c9b73502be152c287 (patch) | |
tree | f3816ecb64ee198235d2e9c1649de3241c3f2ac2 /arch/x86/kernel/ptrace.c | |
parent | ee811517a5604aa63fae803b7c044712699e1303 (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.c | 20 |
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 | ||
890 | static 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 | */ |
899 | static inline void ptrace_bts_untrace(struct task_struct *child) | 894 | void 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 | ||
907 | static inline void ptrace_bts_fork(struct task_struct *tsk) {} | ||
908 | static inline void ptrace_bts_untrace(struct task_struct *child) {} | ||
909 | #endif /* CONFIG_X86_PTRACE_BTS */ | 901 | #endif /* CONFIG_X86_PTRACE_BTS */ |
910 | 902 | ||
911 | void x86_ptrace_fork(struct task_struct *child, unsigned long clone_flags) | ||
912 | { | ||
913 | ptrace_bts_fork(child); | ||
914 | } | ||
915 | |||
916 | void 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 | * |