Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97101eb4 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds
Browse files

exit: move taskstats_tgid_free() from __exit_signal() to free_signal_struct()



Move taskstats_tgid_free() from __exit_signal() to free_signal_struct().

This way signal->stats never points to nowhere and we can read ->stats
lockless.

Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: Roland McGrath <roland@redhat.com>
Cc: Veaceslav Falico <vfalico@redhat.com>
Cc: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a705be6b
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -144,7 +144,6 @@ static void __exit_signal(struct task_struct *tsk)
	clear_tsk_thread_flag(tsk,TIF_SIGPENDING);
	if (group_dead) {
		flush_sigqueue(&sig->shared_pending);
		taskstats_tgid_free(sig);
		tty_kref_put(tty);
	}
}
+1 −0
Original line number Diff line number Diff line
@@ -167,6 +167,7 @@ EXPORT_SYMBOL(free_task);

static inline void free_signal_struct(struct signal_struct *sig)
{
	taskstats_tgid_free(sig);
	kmem_cache_free(signal_cachep, sig);
}