io_uring: use unpin_user_pages() where appropriate
Commit 18595c0a58 upstream.
There are a few cases of open-rolled loops around unpin_user_page(), use
the generic helper instead.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
46b1b3d81a
commit
1fdb9c9eb2
+2
-3
@@ -458,8 +458,8 @@ static int io_pin_pbuf_ring(struct io_uring_buf_reg *reg,
|
||||
struct io_buffer_list *bl)
|
||||
{
|
||||
struct io_uring_buf_ring *br = NULL;
|
||||
int nr_pages, ret, i;
|
||||
struct page **pages;
|
||||
int nr_pages, ret;
|
||||
|
||||
pages = io_pin_pages(reg->ring_addr,
|
||||
flex_array_size(br, bufs, reg->ring_entries),
|
||||
@@ -495,8 +495,7 @@ static int io_pin_pbuf_ring(struct io_uring_buf_reg *reg,
|
||||
bl->is_mmap = 0;
|
||||
return 0;
|
||||
error_unpin:
|
||||
for (i = 0; i < nr_pages; i++)
|
||||
unpin_user_page(pages[i]);
|
||||
unpin_user_pages(pages, nr_pages);
|
||||
kvfree(pages);
|
||||
vunmap(br);
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user