Re: general protection fault in relay_open_buf

From: Al Viro
Date: Thu Jan 31 2019 - 22:57:58 EST


On Thu, Jan 31, 2019 at 11:51:52AM +0100, Greg KH wrote:
> Can you test the patch below?
>
> thanks,
>
> greg k-h
>

> @@ -461,7 +463,7 @@ static struct rchan_buf *relay_open_buf(struct rchan *chan, unsigned int cpu)
> dentry = chan->cb->create_buf_file(NULL, NULL,
> S_IRUSR, buf,
> &chan->is_global);
> - if (WARN_ON(dentry))
> + if (IS_ERR_OR_NULL(dentry))
> goto free_buf;

Huh? That makes no sense; is it IS_ERR on error or is it NULL
on error, or what? Besides, how did it work before?