Re: [PATCH 10/19] fs/io_uring: set FOLL_PIN via pin_user_pages()

From: Ira Weiny
Date: Thu Oct 31 2019 - 19:37:26 EST


On Wed, Oct 30, 2019 at 03:49:21PM -0700, John Hubbard wrote:
> Convert fs/io_uring to use the new pin_user_pages() call, which sets
> FOLL_PIN. Setting FOLL_PIN is now required for code that requires
> tracking of pinned pages, and therefore for any code that calls
> put_user_page().
>

Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>

> Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>
> ---
> fs/io_uring.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/fs/io_uring.c b/fs/io_uring.c
> index a30c4f622cb3..d3924b1760eb 100644
> --- a/fs/io_uring.c
> +++ b/fs/io_uring.c
> @@ -3431,9 +3431,8 @@ static int io_sqe_buffer_register(struct io_ring_ctx *ctx, void __user *arg,
>
> ret = 0;
> down_read(&current->mm->mmap_sem);
> - pret = get_user_pages(ubuf, nr_pages,
> - FOLL_WRITE | FOLL_LONGTERM,
> - pages, vmas);
> + pret = pin_longterm_pages(ubuf, nr_pages, FOLL_WRITE, pages,
> + vmas);
> if (pret == nr_pages) {
> /* don't support file backed memory */
> for (j = 0; j < nr_pages; j++) {
> --
> 2.23.0
>
>