BUG: de_thread()
Hello.
Suppose process P in thread group was cloned _without_ CLONE_DETACHED flag. Then another thread, group_leader for simplicity, does exec and calls de_thread(). It kills P via _broadcast_thread_group(). While doing do_exit(), P skips release_task(), because its exit_signal != -1, and becomes TASK_ZOMBIE.
Then leader calls schedule() with TASK_UNINTERRUPTIBLE in while(oldsig->count > 1) {...} and sleeps forever, because nobody can do wake_up_process(sig->group_exit_task).
Sorry if i missed something, i have no machine to test development kernel, so i can only speculate looking at source.
Oleg.