Skip to content

Commit

Permalink
fs/io_uring.c: convert put_page() to put_user_page*()
Browse files Browse the repository at this point in the history
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 fc1d8e7
("mm: introduce put_user_page*(), placeholder versions").

Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-block@vger.kernel.org
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
John Hubbard authored and Jens Axboe committed Aug 27, 2019
1 parent a55aa89 commit 27c4d3a
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions fs/io_uring.c
Original file line number Diff line number Diff line change
Expand Up @@ -2845,7 +2845,7 @@ static int io_sqe_buffer_unregister(struct io_ring_ctx *ctx)
struct io_mapped_ubuf *imu = &ctx->user_bufs[i];

for (j = 0; j < imu->nr_bvecs; j++)
put_page(imu->bvec[j].bv_page);
put_user_page(imu->bvec[j].bv_page);

if (ctx->account_mem)
io_unaccount_mem(ctx->user, imu->nr_bvecs);
Expand Down Expand Up @@ -2989,10 +2989,8 @@ static int io_sqe_buffer_register(struct io_ring_ctx *ctx, void __user *arg,
* if we did partial map, or found file backed vmas,
* release any pages we did get
*/
if (pret > 0) {
for (j = 0; j < pret; j++)
put_page(pages[j]);
}
if (pret > 0)
put_user_pages(pages, pret);
if (ctx->account_mem)
io_unaccount_mem(ctx->user, nr_pages);
kvfree(imu->bvec);
Expand Down

0 comments on commit 27c4d3a

Please sign in to comment.