aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/tracehook.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
index 9a5b3be2503a..6468ca0fe69b 100644
--- a/include/linux/tracehook.h
+++ b/include/linux/tracehook.h
@@ -73,6 +73,24 @@ static inline int tracehook_unsafe_exec(struct task_struct *task)
73} 73}
74 74
75/** 75/**
76 * tracehook_tracer_task - return the task that is tracing the given task
77 * @tsk: task to consider
78 *
79 * Returns NULL if noone is tracing @task, or the &struct task_struct
80 * pointer to its tracer.
81 *
82 * Must called under rcu_read_lock(). The pointer returned might be kept
83 * live only by RCU. During exec, this may be called with task_lock()
84 * held on @task, still held from when tracehook_unsafe_exec() was called.
85 */
86static inline struct task_struct *tracehook_tracer_task(struct task_struct *tsk)
87{
88 if (task_ptrace(tsk) & PT_PTRACED)
89 return rcu_dereference(tsk->parent);
90 return NULL;
91}
92
93/**
76 * tracehook_report_exec - a successful exec was completed 94 * tracehook_report_exec - a successful exec was completed
77 * @fmt: &struct linux_binfmt that performed the exec 95 * @fmt: &struct linux_binfmt that performed the exec
78 * @bprm: &struct linux_binprm containing exec details 96 * @bprm: &struct linux_binprm containing exec details