Re: PROBLEM: rt_sigsuspend() does not return EINTR on 2.6.16-rc2+

From: Paul Mackerras
Date: Mon Mar 06 2006 - 06:25:22 EST


Andrew Morton writes:

> Matthew Grant <grantma@xxxxxxxxxxxxxxx> wrote:
> >
> > OK, a major piece of software is broken for mounting removable media. A
> > kernel upgrade from 2.6.15 SHOULDn't do that.
>
> Yes, this is a serious problem and we need to get to the bottom of it.

I have been looking at the equivalent code on powerpc. This looks to
me like we aren't calling do_signal on the way back out of the system
call to userspace on x86 when the _TIF_RESTORE_SIGMASK thread_info
flag is set. I had a look at the code in arch/i386/kernel and I can't
see why we wouldn't be getting to do_signal, but x86 assembly is not
my strong point.

The fact that userspace is seeing the -ERESTARTNOHAND return value
from the rt_sigsuspend strongly suggests that we aren't actually
calling do_signal, though.

Paul.

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