aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2017-11-19 11:32:05 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2017-12-02 20:29:13 -0500
commite716712f83b635e62d5fb66c1375524ef2152cc0 (patch)
tree62ed708c2daed2cdf957b4719c8a2666b1e306e8
parent14cb138d7c1c749d81dc3e66cd70f7a884e1da56 (diff)
__get_user_pages_locked(): get rid of notify_drop argument
The only caller that doesn't pass true in it is get_user_pages() and it passes NULL in locked. The only place where we check it is if (notify_locked && lock_dropped && *locked) and lock_dropped can become true only if we have locked != NULL. In other words, the second part of condition will be false when called by get_user_pages(). Just get rid of the argument and turn the condition into if (lock_dropped && *locked) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--mm/gup.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/mm/gup.c b/mm/gup.c
index 9418cbb3b1ad..61015793f952 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -848,7 +848,7 @@ static __always_inline long __get_user_pages_locked(struct task_struct *tsk,
848 unsigned long nr_pages, 848 unsigned long nr_pages,
849 struct page **pages, 849 struct page **pages,
850 struct vm_area_struct **vmas, 850 struct vm_area_struct **vmas,
851 int *locked, bool notify_drop, 851 int *locked,
852 unsigned int flags) 852 unsigned int flags)
853{ 853{
854 long ret, pages_done; 854 long ret, pages_done;
@@ -922,7 +922,7 @@ static __always_inline long __get_user_pages_locked(struct task_struct *tsk,
922 pages++; 922 pages++;
923 start += PAGE_SIZE; 923 start += PAGE_SIZE;
924 } 924 }
925 if (notify_drop && lock_dropped && *locked) { 925 if (lock_dropped && *locked) {
926 /* 926 /*
927 * We must let the caller know we temporarily dropped the lock 927 * We must let the caller know we temporarily dropped the lock
928 * and so the critical section protected by it was lost. 928 * and so the critical section protected by it was lost.
@@ -959,7 +959,7 @@ long get_user_pages_locked(unsigned long start, unsigned long nr_pages,
959 int *locked) 959 int *locked)
960{ 960{
961 return __get_user_pages_locked(current, current->mm, start, nr_pages, 961 return __get_user_pages_locked(current, current->mm, start, nr_pages,
962 pages, NULL, locked, true, 962 pages, NULL, locked,
963 gup_flags | FOLL_TOUCH); 963 gup_flags | FOLL_TOUCH);
964} 964}
965EXPORT_SYMBOL(get_user_pages_locked); 965EXPORT_SYMBOL(get_user_pages_locked);
@@ -988,7 +988,7 @@ long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
988 988
989 down_read(&mm->mmap_sem); 989 down_read(&mm->mmap_sem);
990 ret = __get_user_pages_locked(current, mm, start, nr_pages, pages, NULL, 990 ret = __get_user_pages_locked(current, mm, start, nr_pages, pages, NULL,
991 &locked, true, gup_flags | FOLL_TOUCH); 991 &locked, gup_flags | FOLL_TOUCH);
992 if (locked) 992 if (locked)
993 up_read(&mm->mmap_sem); 993 up_read(&mm->mmap_sem);
994 return ret; 994 return ret;
@@ -1057,7 +1057,7 @@ long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
1057 struct vm_area_struct **vmas, int *locked) 1057 struct vm_area_struct **vmas, int *locked)
1058{ 1058{
1059 return __get_user_pages_locked(tsk, mm, start, nr_pages, pages, vmas, 1059 return __get_user_pages_locked(tsk, mm, start, nr_pages, pages, vmas,
1060 locked, true, 1060 locked,
1061 gup_flags | FOLL_TOUCH | FOLL_REMOTE); 1061 gup_flags | FOLL_TOUCH | FOLL_REMOTE);
1062} 1062}
1063EXPORT_SYMBOL(get_user_pages_remote); 1063EXPORT_SYMBOL(get_user_pages_remote);
@@ -1074,7 +1074,7 @@ long get_user_pages(unsigned long start, unsigned long nr_pages,
1074 struct vm_area_struct **vmas) 1074 struct vm_area_struct **vmas)
1075{ 1075{
1076 return __get_user_pages_locked(current, current->mm, start, nr_pages, 1076 return __get_user_pages_locked(current, current->mm, start, nr_pages,
1077 pages, vmas, NULL, false, 1077 pages, vmas, NULL,
1078 gup_flags | FOLL_TOUCH); 1078 gup_flags | FOLL_TOUCH);
1079} 1079}
1080EXPORT_SYMBOL(get_user_pages); 1080EXPORT_SYMBOL(get_user_pages);