> Date: Thu, 20 Jun 2013 14:25:49 +0300
> From: Paul Irofti <p...@irofti.net>
> 
> > +   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);

Reply via email to