From: 黄涛 Date: Sat, 30 Jul 2011 14:16:53 +0000 (+0800) Subject: Revert "proc: pagemap: Hold mmap_sem during page walk" X-Git-Tag: firefly_0821_release~10006 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4547af1975316ae5fc0d42063e4e5d8a1f8c45fb;p=firefly-linux-kernel-4.4.55.git Revert "proc: pagemap: Hold mmap_sem during page walk" This reverts commit 0bf551684025a5f0f3c9aac694cd5cf73706cb70. --- 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(¤t->mm->mmap_sem); ret = get_user_pages(current, current->mm, uaddr, pagecount, 1, 0, pages, NULL); + up_read(¤t->mm->mmap_sem); + if (ret < 0) goto out_free; @@ -774,7 +776,6 @@ out_pages: page_cache_release(page); } out_free: - up_read(¤t->mm->mmap_sem); kfree(pages); out_mm: mmput(mm);