s390/mm: fix memory leak of ptlock in pmd_free_tlb
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 4 Dec 2014 10:07:19 +0000 (11:07 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 8 Dec 2014 08:42:40 +0000 (09:42 +0100)
The pmd_free_tlb function fails to call pgtable_pmd_page_dtor.
Without the call the ptlock for the pmd tables will not be freed.
Add the missing call.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/tlb.h

index 572c5994900424c2fe4524a17aa02b3bdbe07803..06d8741ad6f42e2b131b707f165548c5f54d4ed0 100644 (file)
@@ -121,6 +121,7 @@ static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd,
 #ifdef CONFIG_64BIT
        if (tlb->mm->context.asce_limit <= (1UL << 31))
                return;
+       pgtable_pmd_page_dtor(virt_to_page(pmd));
        tlb_remove_table(tlb, pmd);
 #endif
 }