Re: Fix signalfd interaction with thread-private signals

From: Davide Libenzi
Date: Fri Jun 22 2007 - 19:01:37 EST


On Fri, 22 Jun 2007, Linus Torvalds wrote:

> Quite frankly, it strikes me that if we want to do this, then we shouldn't
> save the _process_ information at all, we should save the "sighand"
> instead.
>
> So either we save the process info, or we save the sighand, but saving the
> "group_leader" seems totally bogus. Especially as the group leader can
> change (by execve()).
>
> One thing that strikes me as I look at that function is that the whole
> signalfd thing doesn't seem to do any reference counting. Ie it looks
> totally buggy wrt passing the resulting fd off to somebody else, and then
> exiting in the original process.
>
> What did I miss?

We intercept the sighand going out of business, and we do not access it
anymore after that (by the mean of signalfd_lock() returning zero).
I'd be OK with Oleg patch, although I really prefer signalfd being more
flexible (that is, with sync signals disabled in signalfd, and with Ben's
patch reverted). Unless clear point of breakage are shown with such
approach.



- Davide


-
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/