From: Jérôme Glisse <jgli...@redhat.com> For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages().
This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions"). Signed-off-by: Jérôme Glisse <jgli...@redhat.com> Signed-off-by: John Hubbard <jhubb...@nvidia.com> Cc: linux-fsde...@vger.kernel.org Cc: linux-bl...@vger.kernel.org Cc: linux...@kvack.org Cc: linux-...@vger.kernel.org Cc: Jan Kara <j...@suse.cz> Cc: Dan Williams <dan.j.willi...@intel.com> Cc: Alexander Viro <v...@zeniv.linux.org.uk> Cc: Johannes Thumshirn <jthumsh...@suse.de> Cc: Christoph Hellwig <h...@lst.de> Cc: Jens Axboe <ax...@kernel.dk> Cc: Ming Lei <ming....@redhat.com> Cc: Dave Chinner <da...@fromorbit.com> Cc: Jason Gunthorpe <j...@ziepe.ca> Cc: Matthew Wilcox <wi...@infradead.org> Cc: Boaz Harrosh <b...@plexistor.com> Cc: Trond Myklebust <trond.mykleb...@hammerspace.com> Cc: Anna Schumaker <anna.schuma...@netapp.com> --- fs/nfs/direct.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c index 0cb442406168..35f30fe2900f 100644 --- a/fs/nfs/direct.c +++ b/fs/nfs/direct.c @@ -512,7 +512,10 @@ static ssize_t nfs_direct_read_schedule_iovec(struct nfs_direct_req *dreq, pos += req_len; dreq->bytes_left -= req_len; } - nfs_direct_release_pages(pagevec, npages); + if (iov_iter_get_pages_use_gup(iter)) + put_user_pages(pagevec, npages); + else + nfs_direct_release_pages(pagevec, npages); kvfree(pagevec); if (result < 0) break; @@ -935,7 +938,10 @@ static ssize_t nfs_direct_write_schedule_iovec(struct nfs_direct_req *dreq, pos += req_len; dreq->bytes_left -= req_len; } - nfs_direct_release_pages(pagevec, npages); + if (iov_iter_get_pages_use_gup(iter)) + put_user_pages(pagevec, npages); + else + nfs_direct_release_pages(pagevec, npages); kvfree(pagevec); if (result < 0) break; -- 2.22.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization