diff options
| -rw-r--r-- | mm/memory.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/mm/memory.c b/mm/memory.c index 2a55edc48a65..a0822b564cc0 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1963,10 +1963,9 @@ static inline unsigned long zap_pud_range(struct mmu_gather *tlb, do { next = pud_addr_end(addr, end); if (pud_trans_huge(*pud)) { - if (next - addr != HPAGE_PUD_SIZE) { - mmap_assert_locked(tlb->mm); + if (next - addr != HPAGE_PUD_SIZE) split_huge_pud(vma, pud, addr); - } else if (zap_huge_pud(tlb, vma, pud, addr)) + else if (zap_huge_pud(tlb, vma, pud, addr)) goto next; /* fall through */ } |
