summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorSan Mehat <san@google.com>2010-04-19 07:45:33 -0700
committerGary King <gking@nvidia.com>2010-05-23 14:43:03 -0700
commit6c8de118e38111d2c2e07ee5ad7572b582f0a1c6 (patch)
treed96e795f7f97915be8ac1cf9cbbeee1ba6ece005 /fs
parent734c20b5d494b72c0a941e18881a61793d2aae6c (diff)
Revert "proc: pagemap: Hold mmap_sem during page walk"
This reverts commit 0bf551684025a5f0f3c9aac694cd5cf73706cb70. Reverting for proper up-stream fix Signed-off-by: San Mehat <san@google.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/proc/task_mmu.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 3f300c1a9bd0..2a1bef9203c6 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -726,6 +726,8 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
down_read(&current->mm->mmap_sem);
ret = get_user_pages(current, current->mm, uaddr, pagecount,
1, 0, pages, NULL);
+ up_read(&current->mm->mmap_sem);
+
if (ret < 0)
goto out_free;
@@ -774,7 +776,6 @@ out_pages:
page_cache_release(page);
}
out_free:
- up_read(&current->mm->mmap_sem);
kfree(pages);
out_mm:
mmput(mm);