Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and otherwoes

From: Davide Libenzi
Date: Tue Jun 05 2007 - 18:51:18 EST


On Wed, 6 Jun 2007, Benjamin Herrenschmidt wrote:

> On Tue, 2007-06-05 at 08:52 -0700, Davide Libenzi wrote:
> > if (tsk == current)
> > recalc_sigpending();
> >
> > What can happen, is that a task may notice TIF_SIGPENDING and not find
> > a
> > signal once it calls dequeue_signal(), but this is fine as far as
> > signalfd
> > goes. This should be OK in general, no?
>
> What about the code in __dequeue_signal though ? That notifier thing is
> used by the DRI though I'm not sure what would happen if it acts on the
> wrong task.

Hmm, looking at the comments in block_all_signals(), it seems that they're
interested in the fact that a specific task dequeue the signal. So, at
a first sight, it seems that such code should not not be executed if
another task dequeue the message. What do you think?



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