[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080307211955.A876226F990@magilla.localdomain>
Date: Fri, 7 Mar 2008 13:19:55 -0800 (PST)
From: Roland McGrath <roland@...hat.com>
To: Oleg Nesterov <oleg@...sign.ru>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] signals: do_tkill: don't use tasklist_lock
> Btw, a question: we are buggy or just "not perfect" ? After all, the
> main thread actually exits although this is just linux's implementation
> detail.
I think it's buggy. The SIGKILL should kill the whole process.
> Yep. kill_pid_info() does exactly this. Initially I was going to repeat
> this logic,
I think that precedent is enough reason to follow its example as the first
change. We can consider more cleanups from there.
> Suppose that the main thread is already dead (dequeued SIGKILL), but
> not yet released. This window is not that small. In that window (before
> de_thread() switches pids) any private signal (even SIGKILL) sent to the
> main thread will be silently lost.
This is the big problem with exec that I've cited before. It can even
happen with group-wide signals that should be fatal, but avoided the
__group_complete_signal special fatal case. (e.g. the thread racing with
the exec thread just now unblocked the signal and dequeued it.) IIRC it
was the biggest reason we wanted to revisit the whole MT exec plan.
> We can change __group_complete_signal/zap_other_threads so that they won't
> do sigaddset(), just signal_wake_up(). But in that case dequeue_signal()
> and recalc_signal() should take signal_group_exit into account...
I'd like to revisit the use of "fake" SIGKILL for group exits. That goes
well with a rethink of MT exec. But let's not get into all of that right now.
Thanks,
Roland
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists