On 2022-12-06 11:35, David Howells wrote: > Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > >> If this is going to be a general replacement for iov_iter_get_pages() >> it's going to need to pass through gup_flags. My recent patchset added >> versions with these and I think it should be in during the next merge >> cycle. [1] > > Cool. Note that the current iov_iter_get_pages2() is broken, which is why Al > wanted a replacement. It should not be taking a ref on the pages in an > XARRAY, BVEC or PIPE - and it should be pinning rather than getting a ref on > pages in IOVEC or UBUF if the buffer is being read into. I'm guessing that > your changes move the latter decision to the caller? My changes maintained the status quo in terms of brokenness. They simply added the gup_flags so I could pass a P2PDMA flag in a couple specific cases. I have no objections to the other changes and vaguely look ok to me, but having not seen patches to convert the users I care about, I thought I'd point out that the P2PDMA use case will need to be supported somehow. Logan