2019-10-30 22:52:46

by John Hubbard

[permalink] [raw]
Subject: [PATCH 10/19] fs/io_uring: set FOLL_PIN via pin_user_pages()

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().

Signed-off-by: John Hubbard <[email protected]>
---
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


2019-10-31 23:40:19

by Ira Weiny

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

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 <[email protected]>

> Signed-off-by: John Hubbard <[email protected]>
> ---
> 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
>
>

2019-11-01 14:50:41

by Jens Axboe

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

On 10/30/19 4:49 PM, 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: Jens Axboe <[email protected]>

--
Jens Axboe