Re: [PATCH v3] iomap: Fix WARN_ON_ONCE() from unprivileged users
From: Qian Cai
Date:  Mon Aug 31 2020 - 14:05:33 EST
On Mon, Aug 31, 2020 at 06:42:19PM +0100, Matthew Wilcox wrote:
> On Mon, Aug 31, 2020 at 01:25:34PM -0400, Qian Cai wrote:
> > +	case IOMAP_DELALLOC:
> > +		/*
> > +		 * DIO is not serialised against mmap() access at all, and so
> > +		 * if the page_mkwrite occurs between the writeback and the
> > +		 * iomap_apply() call in the DIO path, then it will see the
> > +		 * DELALLOC block that the page-mkwrite allocated.
> > +		 */
> > +		path = file_path(dio->iocb->ki_filp, pathname,
> > +				 sizeof(pathname));
> > +		if (IS_ERR(path))
> > +			path = "(unknown)";
> > +
> > +		pr_warn_ratelimited("Direct I/O collision with buffered writes! File: %s Comm: %.20s\n",
> > +				    path, current->comm);
> 
> "File: %pD4"?
Sounds like a good idea. I could use that.