From 0cd419594dddb5e51679940da6d81b0c8bb86bff Mon Sep 17 00:00:00 2001 From: Andy Grover Date: Thu, 9 Apr 2009 14:09:42 +0000 Subject: [PATCH] --- yaml --- r: 149716 b: refs/heads/master c: 830eb7d56c18ff4c29acd8b0bb48db404660321f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/rds/info.c | 5 +---- trunk/net/rds/rdma.c | 5 +---- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index a730417fd5ee..eb4e53031209 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 49f696914100780f6bf8e652d3468de0015d6172 +refs/heads/master: 830eb7d56c18ff4c29acd8b0bb48db404660321f diff --git a/trunk/net/rds/info.c b/trunk/net/rds/info.c index 1d885535214d..62aeef37aefe 100644 --- a/trunk/net/rds/info.c +++ b/trunk/net/rds/info.c @@ -188,10 +188,7 @@ int rds_info_getsockopt(struct socket *sock, int optname, char __user *optval, ret = -ENOMEM; goto out; } - down_read(¤t->mm->mmap_sem); - ret = get_user_pages(current, current->mm, start, nr_pages, 1, 0, - pages, NULL); - up_read(¤t->mm->mmap_sem); + ret = get_user_pages_fast(start, nr_pages, 1, pages); if (ret != nr_pages) { if (ret > 0) nr_pages = ret; diff --git a/trunk/net/rds/rdma.c b/trunk/net/rds/rdma.c index e390dc70b9d9..8dc83d2caa58 100644 --- a/trunk/net/rds/rdma.c +++ b/trunk/net/rds/rdma.c @@ -150,10 +150,7 @@ static int rds_pin_pages(unsigned long user_addr, unsigned int nr_pages, { int ret; - down_read(¤t->mm->mmap_sem); - ret = get_user_pages(current, current->mm, user_addr, - nr_pages, write, 0, pages, NULL); - up_read(¤t->mm->mmap_sem); + ret = get_user_pages_fast(user_addr, nr_pages, write, pages); if (ret >= 0 && ret < nr_pages) { while (ret--)