Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Fri, Jan 20, 2023 at 05:55:50PM +0000, David Howells wrote: > > (3) Any other sort of iterator. > > > > No refs or pins are obtained on the page, the assumption is made that > > the caller will manage page retention. ITER_ALLOW_P2PDMA is not > > permitted. > > The ITER_ALLOW_P2PDMA check here is fundamentally wrong and will > break things like io_uring to fixed buffers on NVMe. ITER_ALLOW_P2PDMA > should strictly increase the group of acceptable iters, it does must > not restrict anything. So just drop the check? Or do I actually need to do something to the pages to make it work? If I understand the code correctly, it's not actually operable right now on any page that doesn't have an appropriately marked PTE. David