On Wed, 6 Jun 2007, Benjamin Herrenschmidt wrote:
> On Tue, 2007-06-05 at 20:37 -0700, Linus Torvalds wrote:
>
> > I agree that it would be a limitation, but it would be a sane one.
> >
> > How about we try to live with that limitation, if only to avoid the issue
> > of having the private signals being stolen by anybody else. If we actually
> > find a real-live use-case where that is bad in the future, we can re-visit
> > the issue - it's always easier to _expand_ semantics later than it is to
> > restrict them, so I think this thread is a good argument for starting it
> > out in a more restricted form before people start depending on semantics
> > that can be nasty..
>
> Here's a patch. Let me know if I missed something.
>
> Fix races with signalfd and TIF_SIGPENDING
>
> We must never clear TIF_SIGPENDING for another task. This patch
> ensures that by preventing recalc_sigpending_tsk() from clearing
> that bit if the target task is not current.
>
> In addition we also prevent __dequeue_signal() from calling the
> DRM notifier thingy when stealing signals from another task via
> signalfd.
>
> Finally, we only dequeue shared signals when called from another
> task (via signalfd), we leave private signals alone.
Makes sense...
> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
Acked-by: Davide Libenzi <[email protected]>
- Davide
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes
- signalfd API issues (was Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes)
- Re: signalfd API issues (was Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes)
- Re: signalfd API issues (was Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes)
- Re: signalfd API issues (was Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes)
- Re: signalfd API issues (was Re: [PATCH/RFC] signal races/bugs, losing TIF_SIGPENDING and other woes)
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]