What exactly is the purpose of the locking in 298 spin_lock_irq(¤t->sighand->siglock); 299 ctx->sigmask = sigmask; 300 spin_unlock_irq(¤t->sighand->siglock); It doesn't seem to prevent process A from modifying the mask while process B is also doing that (or reading from it in signalfd_{poll,dequeue}). Of course it requires sharing the struct file, but that's certainly possible. Rasmus -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html