Just make it:
spin_lock_irqsave(lock, flags);
q->flags |= SIGQUEUE_CANCELLED;
q->flags &= ~SIGQUEUE_PREALLOC;
and we needn't wax philosophical about the meaning of locking rules. That
patch would have my ACK, but I concur with Linus about the undesireability
of the plain = version.
Thanks,
Roland
--