]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/rds/rdma.c
Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / net / rds / rdma.c
index eaeeb91e11196a07405ee9cbfc417c7da3793ea3..8dc83d2caa58d02d7036ea697a5fac65f470b564 100644 (file)
@@ -150,12 +150,9 @@ static int rds_pin_pages(unsigned long user_addr, unsigned int nr_pages,
 {
        int ret;
 
-       down_read(&current->mm->mmap_sem);
-       ret = get_user_pages(current, current->mm, user_addr,
-                            nr_pages, write, 0, pages, NULL);
-       up_read(&current->mm->mmap_sem);
+       ret = get_user_pages_fast(user_addr, nr_pages, write, pages);
 
-       if (0 <= ret && (unsigned) ret < nr_pages) {
+       if (ret >= 0 && ret < nr_pages) {
                while (ret--)
                        put_page(pages[ret]);
                ret = -EFAULT;