From d8a4de9c54eac4c46983eafb19371429667e1f27 Mon Sep 17 00:00:00 2001 From: David Rientjes Date: Wed, 20 Jun 2012 12:53:00 -0700 Subject: [PATCH] --- yaml --- r: 311115 b: refs/heads/master c: e0897d75f0b22e8c3a7287a48548c5686ef73447 h: refs/heads/master i: 311113: ab3df444aa5f03b59885d4151db6653dfbe08ad9 311111: 28263ccfcc6d0176ce545bfb9a85f99f28e46193 v: v3 --- [refs] | 2 +- trunk/mm/memory.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 44593da63bb9..db98175ffc4f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 436814e61f5c526ed123853a9bf63fb2ff4ff94b +refs/heads/master: e0897d75f0b22e8c3a7287a48548c5686ef73447 diff --git a/trunk/mm/memory.c b/trunk/mm/memory.c index 1b7dc662bf9f..8762c4f915fc 100644 --- a/trunk/mm/memory.c +++ b/trunk/mm/memory.c @@ -1225,7 +1225,15 @@ static inline unsigned long zap_pmd_range(struct mmu_gather *tlb, next = pmd_addr_end(addr, end); if (pmd_trans_huge(*pmd)) { if (next - addr != HPAGE_PMD_SIZE) { - VM_BUG_ON(!rwsem_is_locked(&tlb->mm->mmap_sem)); +#ifdef CONFIG_DEBUG_VM + if (!rwsem_is_locked(&tlb->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 split_huge_page_pmd(vma->vm_mm, pmd); } else if (zap_huge_pmd(tlb, vma, pmd, addr)) goto next;