mm: gup: use get_user_pages_unlocked
[cascardo/linux.git] / net / ceph / pagevec.c
index 5550130..096d914 100644 (file)
@@ -23,17 +23,15 @@ struct page **ceph_get_direct_page_vector(const void __user *data,
        if (!pages)
                return ERR_PTR(-ENOMEM);
 
-       down_read(&current->mm->mmap_sem);
        while (got < num_pages) {
-               rc = get_user_pages(current, current->mm,
+               rc = get_user_pages_unlocked(current, current->mm,
                    (unsigned long)data + ((unsigned long)got * PAGE_SIZE),
-                   num_pages - got, write_page, 0, pages + got, NULL);
+                   num_pages - got, write_page, 0, pages + got);
                if (rc < 0)
                        break;
                BUG_ON(rc == 0);
                got += rc;
        }
-       up_read(&current->mm->mmap_sem);
        if (rc < 0)
                goto fail;
        return pages;