Skip to contentSkip to conversation

BUG: de_thread()

DISCUSSION Oleg Nesterov 1 participant 1 message Oct 10, 2002

lore
Share & tools
lore
#0 lore raw

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.