diff options
| author | Lorenzo Stoakes <[email protected]> | 2016-10-13 00:20:16 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2016-10-19 15:11:43 +0000 |
| commit | 768ae309a96103ed02eb1e111e838c87854d8b51 (patch) | |
| tree | 59f9070c68cc87d37e5edf6439b5074a96f5d3dd /mm/gup.c | |
| parent | mm: replace get_vaddr_frames() write/force parameters with gup_flags (diff) | |
| download | kernel-768ae309a96103ed02eb1e111e838c87854d8b51.tar.gz kernel-768ae309a96103ed02eb1e111e838c87854d8b51.zip | |
mm: replace get_user_pages() write/force parameters with gup_flags
This removes the 'write' and 'force' from get_user_pages() and replaces
them with 'gup_flags' to make the use of FOLL_FORCE explicit in callers
as use of this flag can result in surprising behaviour (and hence bugs)
within the mm subsystem.
Signed-off-by: Lorenzo Stoakes <[email protected]>
Acked-by: Christian König <[email protected]>
Acked-by: Jesper Nilsson <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'mm/gup.c')
| -rw-r--r-- | mm/gup.c | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -987,18 +987,12 @@ EXPORT_SYMBOL(get_user_pages_remote); * obviously don't pass FOLL_REMOTE in here. */ long get_user_pages(unsigned long start, unsigned long nr_pages, - int write, int force, struct page **pages, + unsigned int gup_flags, struct page **pages, struct vm_area_struct **vmas) { - unsigned int flags = FOLL_TOUCH; - - if (write) - flags |= FOLL_WRITE; - if (force) - flags |= FOLL_FORCE; - return __get_user_pages_locked(current, current->mm, start, nr_pages, - pages, vmas, NULL, false, flags); + pages, vmas, NULL, false, + gup_flags | FOLL_TOUCH); } EXPORT_SYMBOL(get_user_pages); |
