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/

Reply via email to