aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/exit.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/exit.c')
-rw-r--r--kernel/exit.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index e5cc05644609..d49134a7f250 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -169,7 +169,6 @@ void release_task(struct task_struct * p)
169 struct task_struct *leader; 169 struct task_struct *leader;
170 int zap_leader; 170 int zap_leader;
171repeat: 171repeat:
172 tracehook_prepare_release_task(p);
173 /* don't need to get the RCU readlock here - the process is dead and 172 /* don't need to get the RCU readlock here - the process is dead and
174 * can't be modifying its own credentials. But shut RCU-lockdep up */ 173 * can't be modifying its own credentials. But shut RCU-lockdep up */
175 rcu_read_lock(); 174 rcu_read_lock();
@@ -179,7 +178,7 @@ repeat:
179 proc_flush_task(p); 178 proc_flush_task(p);
180 179
181 write_lock_irq(&tasklist_lock); 180 write_lock_irq(&tasklist_lock);
182 tracehook_finish_release_task(p); 181 ptrace_release_task(p);
183 __exit_signal(p); 182 __exit_signal(p);
184 183
185 /* 184 /*
@@ -868,8 +867,6 @@ static void exit_notify(struct task_struct *tsk, int group_dead)
868 wake_up_process(tsk->signal->group_exit_task); 867 wake_up_process(tsk->signal->group_exit_task);
869 write_unlock_irq(&tasklist_lock); 868 write_unlock_irq(&tasklist_lock);
870 869
871 tracehook_report_death(tsk, signal, cookie, group_dead);
872
873 /* If the process is dead, release it - nobody will wait for it */ 870 /* If the process is dead, release it - nobody will wait for it */
874 if (signal == DEATH_REAP) 871 if (signal == DEATH_REAP)
875 release_task(tsk); 872 release_task(tsk);
@@ -924,7 +921,7 @@ NORET_TYPE void do_exit(long code)
924 */ 921 */
925 set_fs(USER_DS); 922 set_fs(USER_DS);
926 923
927 tracehook_report_exit(&code); 924 ptrace_event(PTRACE_EVENT_EXIT, code);
928 925
929 validate_creds_for_do_exit(tsk); 926 validate_creds_for_do_exit(tsk);
930 927