Excerpts from Michael Neuling's message of 2014-10-08 19:55:02 +1100: > +static ssize_t afu_read(struct file *file, char __user *buf, size_t count, > + loff_t *off) ... > + for (;;) { > + prepare_to_wait(&ctx->wq, &wait, TASK_INTERRUPTIBLE); > + if (ctx_event_pending(ctx)) > + break; > + > + spin_unlock_irqrestore(&ctx->lock, flags); > + if (file->f_flags & O_NONBLOCK) > + return -EAGAIN; > + > + if (signal_pending(current)) > + return -ERESTARTSYS;
Looks like I mucked this up while refactoring - these two cases no longer call finish_wait() which can lead to a crash if something later wakes up the ctx->wq... I'll post a fix in a separate patch shortly. -Ian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/