On 02/14, David Howells wrote: > > Matt Fleming <matt@xxxxxxxxxxxxxxxxx> wrote: > > > asmlinkage long sys_sigsuspend(int history0, int history1, old_sigset_t mask) > > { > > - mask &= _BLOCKABLE; > > - spin_lock_irq(¤t->sighand->siglock); > > + sigset_t blocked; > > + > > current->saved_sigmask = current->blocked; > > Can this line create a race, now that it's not protected by a lock? It is > possible for current->blocked to get altered by another thread. No, only current can change ->blocked. This is even documented in sigprocmask(). And more, the only correct way to change ->blocked is set_current_blocked(). OK, with a couple of "I know what I am doing" exceptions in kernel/signal.c. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html