|
@@ -1264,15 +1264,16 @@ unsigned long kvm_vcpu_gfn_to_hva_prot(struct kvm_vcpu *vcpu, gfn_t gfn, bool *w
|
|
|
return gfn_to_hva_memslot_prot(slot, gfn, writable);
|
|
|
}
|
|
|
|
|
|
-static int get_user_page_nowait(struct task_struct *tsk, struct mm_struct *mm,
|
|
|
- unsigned long start, int write, struct page **page)
|
|
|
+static int get_user_page_nowait(unsigned long start, int write,
|
|
|
+ struct page **page)
|
|
|
{
|
|
|
int flags = FOLL_TOUCH | FOLL_NOWAIT | FOLL_HWPOISON | FOLL_GET;
|
|
|
|
|
|
if (write)
|
|
|
flags |= FOLL_WRITE;
|
|
|
|
|
|
- return __get_user_pages(tsk, mm, start, 1, flags, page, NULL, NULL);
|
|
|
+ return __get_user_pages(current, current->mm, start, 1, flags, page,
|
|
|
+ NULL, NULL);
|
|
|
}
|
|
|
|
|
|
static inline int check_user_page_hwpoison(unsigned long addr)
|
|
@@ -1334,8 +1335,7 @@ static int hva_to_pfn_slow(unsigned long addr, bool *async, bool write_fault,
|
|
|
|
|
|
if (async) {
|
|
|
down_read(¤t->mm->mmap_sem);
|
|
|
- npages = get_user_page_nowait(current, current->mm,
|
|
|
- addr, write_fault, page);
|
|
|
+ npages = get_user_page_nowait(addr, write_fault, page);
|
|
|
up_read(¤t->mm->mmap_sem);
|
|
|
} else
|
|
|
npages = __get_user_pages_unlocked(current, current->mm, addr, 1,
|