Merge tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee139...
[firefly-linux-kernel-4.4.55.git] / net / ceph / pagevec.c
index 555013034f7a899e2d03268a6571e01d096e8cee..096d91447e06e8a759ab8daf5283ddd4d27922b9 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;