Re: [PATCH 2/8] mm/gup: don't call __gup_longterm_locked() if FOLL_LONGTERM cannot be set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/17/23 07:58, Jason Gunthorpe wrote:
get_user_pages_remote(), get_user_pages_unlocked() and get_user_pages()
are never called with FOLL_LONGTERM, so directly call
__get_user_pages_locked()

The next patch will add an assertion for this.

Suggested-by: John Hubbard <jhubbard@xxxxxxxxxx>
Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
---
  mm/gup.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)

Looks good. I appreciate the patch granularity, it's easy to
review as a result.

Reviewed-by: John Hubbard <jhubbard@xxxxxxxxxx>

thanks,
--
John Hubbard
NVIDIA


diff --git a/mm/gup.c b/mm/gup.c
index 3a9f764165f50b..2c833f862d0354 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -2188,8 +2188,8 @@ long get_user_pages_remote(struct mm_struct *mm,
  	if (!is_valid_gup_flags(gup_flags))
  		return -EINVAL;
- return __gup_longterm_locked(mm, start, nr_pages, pages, vmas, locked,
-				     gup_flags | FOLL_TOUCH | FOLL_REMOTE);
+	return __get_user_pages_locked(mm, start, nr_pages, pages, vmas, locked,
+				       gup_flags | FOLL_TOUCH | FOLL_REMOTE);
  }
  EXPORT_SYMBOL(get_user_pages_remote);
@@ -2226,8 +2226,8 @@ long get_user_pages(unsigned long start, unsigned long nr_pages,
  	if (!is_valid_gup_flags(gup_flags))
  		return -EINVAL;
- return __gup_longterm_locked(current->mm, start, nr_pages,
-				     pages, vmas, NULL, gup_flags | FOLL_TOUCH);
+	return __get_user_pages_locked(current->mm, start, nr_pages, pages,
+				       vmas, NULL, gup_flags | FOLL_TOUCH);
  }
  EXPORT_SYMBOL(get_user_pages);
@@ -2251,8 +2251,8 @@ long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
  {
  	int locked = 0;
- return __gup_longterm_locked(current->mm, start, nr_pages, pages, NULL,
-				     &locked, gup_flags | FOLL_TOUCH);
+	return __get_user_pages_locked(current->mm, start, nr_pages, pages,
+				       NULL, &locked, gup_flags | FOLL_TOUCH);
  }
  EXPORT_SYMBOL(get_user_pages_unlocked);






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux