From 14cdaa0b0196d5ce8e45beae9f82de73e0c4a28d Mon Sep 17 00:00:00 2001 From: David Smith Date: Mon, 9 Jun 2008 13:10:14 -0500 Subject: Made 2.6.25 kernel updates. 2008-06-09 David Smith * tapsets.cxx (utrace_derived_probe::join_group): Removed generated inclusion of tracehook.h. (utrace_var_expanding_copy_visitor::visit_target_symbol): Uses '_stp_arg(0)' to get value of '$syscall'. 2008-06-09 David Smith * task_finder.c (__stp_utrace_task_finder_report_exec): Handles 2.6.25 kernels. --- runtime/task_finder.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'runtime/task_finder.c') diff --git a/runtime/task_finder.c b/runtime/task_finder.c index e233d463..9c8acfa0 100644 --- a/runtime/task_finder.c +++ b/runtime/task_finder.c @@ -418,10 +418,14 @@ __stp_utrace_task_finder_report_exec(struct utrace_attached_engine *engine, // '/bin/bash' clones and then execs '/bin/ls'. If the user // was probing '/bin/bash', the cloned thread is still // '/bin/bash' up until the exec. - if (tsk != NULL && tsk->parent != NULL && tsk->parent->pid > 1) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) +#define real_parent parent +#endif + if (tsk != NULL && tsk->real_parent != NULL + && tsk->real_parent->pid > 1) { // We'll hardcode this as a process end, but a thread // *could* call exec (although they aren't supposed to). - __stp_utrace_attach_match_tsk(tsk->parent, tsk, 0, 1); + __stp_utrace_attach_match_tsk(tsk->real_parent, tsk, 0, 1); } // On exec, check bprm -- cgit