Re: [PATCH] fix race copy_process() vs de_thread()

From: Roland McGrath
Date: Mon Aug 24 2009 - 02:14:42 EST


I'm not sure I follow the problem scenario you are citing.

The thread in copy_process() will return -ERESTARTNOINTR
after calling cleanup_signal(), which does properly decrement
sig->count to return it to the state before the copy_process() call.
Then this thread will get to signal handling, dequeue its SIGKILL from
zap_other_threads(), and die itself. When it's finally reaped, by itself
in exit_notify(), or by de_thread() in the case of a replaced group_leader,
the normal __exit_signal() will do that group_exit_task logic.

What part of this sequence fails to occur in your tests?


Thanks,
Roland
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/