Re: [BUG] ptraced process waiting on syscall may return kernel internal errnos

From: Satoru Takeuchi
Date: Thu Jun 07 2007 - 07:33:39 EST


Hi Linus,

At Wed, 6 Jun 2007 08:35:27 -0700 (PDT),
Linus Torvalds wrote:
> On Wed, 6 Jun 2007, Roland McGrath wrote:
> >
> > [PATCH] Restrict clearing TIF_SIGPENDING
> >
> > This patch should get a few birds. It prevents sigaction calls from
> > clearing TIF_SIGPENDING in other threads, which could leak -ERESTART*.
> > It fixes ptrace_stop not to clear it, which done at the syscall exit
> > stop could leak -ERESTART*. It probably removes the harm from
> > signalfd, at least assuming it never calls dequeue_signal on kernel
> > threads that might have used block_all_signals.
>
> Ok, this one is more complex than my suggested one-liner, but seems to fix
> another bug. And it's logic in dequeue_signal() is a bit prettier than
> Ben's (otherwise somewhat similar) patch.

I tested your patch and my problem didn't occur again, so it seems to my
this case at least. However sometimes another bug appears instead which
Roland regards it as strace bug.

http://lkml.org/lkml/2007/6/7/91

BTW, There seems to be many problem on signal code... I take a long at it
and detect more bugs (and of cource make patch if possible).

Thanks,

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