kvm: Faults which trigger IO release the mmap_sem
[firefly-linux-kernel-4.4.55.git] / virt / kvm / async_pf.c
index d6a3d0993d8812c8527274d01e8c08ce942746a4..5ff7f7f2689afec2887fe9c387aaaca2d616a119 100644 (file)
@@ -80,9 +80,7 @@ static void async_pf_execute(struct work_struct *work)
 
        might_sleep();
 
-       down_read(&mm->mmap_sem);
-       get_user_pages(NULL, mm, addr, 1, 1, 0, NULL, NULL);
-       up_read(&mm->mmap_sem);
+       kvm_get_user_page_io(NULL, mm, addr, 1, NULL);
        kvm_async_page_present_sync(vcpu, apf);
 
        spin_lock(&vcpu->async_pf.lock);