mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
mm: export __get_user_pages
In most cases, get_user_pages and get_user_pages_fast should be used to pin user pages in memory. But sometimes, some special flags except FOLL_GET, FOLL_WRITE and FOLL_FORCE are needed, for example in following patch, KVM needs FOLL_HWPOISON. To support these users, __get_user_pages is exported directly. There are some symbol name conflicts in infiniband driver, fixed them too. Signed-off-by: Huang Ying <[email protected]> CC: Andrew Morton <[email protected]> CC: Michel Lespinasse <[email protected]> CC: Roland Dreier <[email protected]> CC: Ralph Campbell <[email protected]> Signed-off-by: Marcelo Tosatti <[email protected]>
This commit is contained in:
parent
91c9c3eda4
commit
0014bd990e
5 changed files with 60 additions and 11 deletions
|
|
@ -53,8 +53,8 @@ static void __ipath_release_user_pages(struct page **p, size_t num_pages,
|
|||
}
|
||||
|
||||
/* call with current->mm->mmap_sem held */
|
||||
static int __get_user_pages(unsigned long start_page, size_t num_pages,
|
||||
struct page **p, struct vm_area_struct **vma)
|
||||
static int __ipath_get_user_pages(unsigned long start_page, size_t num_pages,
|
||||
struct page **p, struct vm_area_struct **vma)
|
||||
{
|
||||
unsigned long lock_limit;
|
||||
size_t got;
|
||||
|
|
@ -165,7 +165,7 @@ int ipath_get_user_pages(unsigned long start_page, size_t num_pages,
|
|||
|
||||
down_write(¤t->mm->mmap_sem);
|
||||
|
||||
ret = __get_user_pages(start_page, num_pages, p, NULL);
|
||||
ret = __ipath_get_user_pages(start_page, num_pages, p, NULL);
|
||||
|
||||
up_write(¤t->mm->mmap_sem);
|
||||
|
||||
|
|
|
|||
|
|
@ -51,8 +51,8 @@ static void __qib_release_user_pages(struct page **p, size_t num_pages,
|
|||
/*
|
||||
* Call with current->mm->mmap_sem held.
|
||||
*/
|
||||
static int __get_user_pages(unsigned long start_page, size_t num_pages,
|
||||
struct page **p, struct vm_area_struct **vma)
|
||||
static int __qib_get_user_pages(unsigned long start_page, size_t num_pages,
|
||||
struct page **p, struct vm_area_struct **vma)
|
||||
{
|
||||
unsigned long lock_limit;
|
||||
size_t got;
|
||||
|
|
@ -136,7 +136,7 @@ int qib_get_user_pages(unsigned long start_page, size_t num_pages,
|
|||
|
||||
down_write(¤t->mm->mmap_sem);
|
||||
|
||||
ret = __get_user_pages(start_page, num_pages, p, NULL);
|
||||
ret = __qib_get_user_pages(start_page, num_pages, p, NULL);
|
||||
|
||||
up_write(¤t->mm->mmap_sem);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue