Sorry, sorry for the delay,
On 05/20, Eric W. Biederman wrote:
Hmm. could you clarify? I tend to always trust you, just can't understand
the text above...
However, I think this patch adds another subtle race which I missed before.
Let's suppose that the task has two threads, A (== main thread) and B. A has
already exited, B does exec.
In that case it is possible that (without tasklist_lock) kill_something_info()
sends the signal to the old leader (A), but before group_send_sig_info(A)
takes ->siglock B switches the leader and does release_task(A). In that
group_send_sig_info()->lock_task_sighand() fails and we miss the process.
Note the (broken) "p->pid > 1" check, kill_something_info() skips init.
Not that it matters though.
Oleg.
--