|
@@ -53,6 +53,7 @@ struct proc_event {
|
|
PROC_EVENT_UID = 0x00000004,
|
|
PROC_EVENT_UID = 0x00000004,
|
|
PROC_EVENT_GID = 0x00000040,
|
|
PROC_EVENT_GID = 0x00000040,
|
|
PROC_EVENT_SID = 0x00000080,
|
|
PROC_EVENT_SID = 0x00000080,
|
|
|
|
+ PROC_EVENT_PTRACE = 0x00000100,
|
|
/* "next" should be 0x00000400 */
|
|
/* "next" should be 0x00000400 */
|
|
/* "last" is the last process event: exit */
|
|
/* "last" is the last process event: exit */
|
|
PROC_EVENT_EXIT = 0x80000000
|
|
PROC_EVENT_EXIT = 0x80000000
|
|
@@ -95,6 +96,13 @@ struct proc_event {
|
|
__kernel_pid_t process_tgid;
|
|
__kernel_pid_t process_tgid;
|
|
} sid;
|
|
} sid;
|
|
|
|
|
|
|
|
+ struct ptrace_proc_event {
|
|
|
|
+ __kernel_pid_t process_pid;
|
|
|
|
+ __kernel_pid_t process_tgid;
|
|
|
|
+ __kernel_pid_t tracer_pid;
|
|
|
|
+ __kernel_pid_t tracer_tgid;
|
|
|
|
+ } ptrace;
|
|
|
|
+
|
|
struct exit_proc_event {
|
|
struct exit_proc_event {
|
|
__kernel_pid_t process_pid;
|
|
__kernel_pid_t process_pid;
|
|
__kernel_pid_t process_tgid;
|
|
__kernel_pid_t process_tgid;
|
|
@@ -109,6 +117,7 @@ void proc_fork_connector(struct task_struct *task);
|
|
void proc_exec_connector(struct task_struct *task);
|
|
void proc_exec_connector(struct task_struct *task);
|
|
void proc_id_connector(struct task_struct *task, int which_id);
|
|
void proc_id_connector(struct task_struct *task, int which_id);
|
|
void proc_sid_connector(struct task_struct *task);
|
|
void proc_sid_connector(struct task_struct *task);
|
|
|
|
+void proc_ptrace_connector(struct task_struct *task, int which_id);
|
|
void proc_exit_connector(struct task_struct *task);
|
|
void proc_exit_connector(struct task_struct *task);
|
|
#else
|
|
#else
|
|
static inline void proc_fork_connector(struct task_struct *task)
|
|
static inline void proc_fork_connector(struct task_struct *task)
|
|
@@ -124,6 +133,10 @@ static inline void proc_id_connector(struct task_struct *task,
|
|
static inline void proc_sid_connector(struct task_struct *task)
|
|
static inline void proc_sid_connector(struct task_struct *task)
|
|
{}
|
|
{}
|
|
|
|
|
|
|
|
+static inline void proc_ptrace_connector(struct task_struct *task,
|
|
|
|
+ int ptrace_id)
|
|
|
|
+{}
|
|
|
|
+
|
|
static inline void proc_exit_connector(struct task_struct *task)
|
|
static inline void proc_exit_connector(struct task_struct *task)
|
|
{}
|
|
{}
|
|
#endif /* CONFIG_PROC_EVENTS */
|
|
#endif /* CONFIG_PROC_EVENTS */
|