diff options
author | Minchan Kim <minchan@kernel.org> | 2015-09-23 09:04:29 +1000 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2015-09-23 09:04:29 +1000 |
commit | 08ea184211b52e3e2e718fa56d2b15e5504b4baa (patch) | |
tree | 37ec0f1b680d74626b5898bd62f6e04c1baeede7 | |
parent | 9cda1db2b05cd123087cdc4f59f6cee36aeb3976 (diff) | |
download | linux-08ea184211b52e3e2e718fa56d2b15e5504b4baa.tar.gz linux-08ea184211b52e3e2e718fa56d2b15e5504b4baa.tar.xz |
mm: remove lock validation check for MADV_FREE
Currently, madvise_free_pte_range is called only madvise path which
already holds an mmap_sem so it's pointless to add the lock validation
check.
Signed-off-by: Minchan Kim <minchan@kernel.org>
Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r-- | mm/madvise.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/mm/madvise.c b/mm/madvise.c index f39fd3744597..6a043d915055 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -280,18 +280,9 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr, next = pmd_addr_end(addr, end); if (pmd_trans_huge(*pmd)) { - if (next - addr != HPAGE_PMD_SIZE) { -#ifdef CONFIG_DEBUG_VM - if (!rwsem_is_locked(&mm->mmap_sem)) { - pr_err("%s: mmap_sem is unlocked! addr=0x%lx end=0x%lx vma->vm_start=0x%lx vma->vm_end=0x%lx\n", - __func__, addr, end, - vma->vm_start, - vma->vm_end); - BUG(); - } -#endif + if (next - addr != HPAGE_PMD_SIZE) split_huge_page_pmd(vma, addr, pmd); - } else if (!madvise_free_huge_pmd(tlb, vma, pmd, addr)) + else if (!madvise_free_huge_pmd(tlb, vma, pmd, addr)) goto next; /* fall through */ } |