On Thu, Jun 20, 2013 at 02:01:26PM +0200, Mark Kettenis wrote: > > Date: Thu, 20 Jun 2013 14:25:49 +0300 > > From: Paul Irofti <[email protected]> > > > > > + bs &= ~sigcantmask; > > > switch (SCARG(uap, how)) { > > > case LINUX_SIG_BLOCK: > > > - p->p_sigmask |= bs & ~sigcantmask; > > > + atomic_setbits_int(&p->p_sigmask, bs); > > > break; > > > > > > case LINUX_SIG_UNBLOCK: > > > - p->p_sigmask &= ~bs; > > > + atomic_clearbits_int(&p->p_sigmask, bs); > > > > I'm pretty sure this is not correct with your change to bs before the > > switch statement. > > No that's fine. The bits in sigcantmask should never be set. So > > atomic_clearbits_int(&p->p_sigmask, bs & ~sigcanmask); > > is equivalent to > > atomic_clearbits_int(&p->p_sigmask, bs);
Right, nevermind. Carry on.
