summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/tlb.h
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2014-12-04 13:07:19 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-12-08 11:42:40 +0300
commit9de45f736f21655400fd56b85bfbaf507cc2959d (patch)
tree0058242cb673d931d76cf40e43aeb152355eca42 /arch/s390/include/asm/tlb.h
parent86ed42f401cb8fa54a8c553e075ea411caac7404 (diff)
downloadlinux-9de45f736f21655400fd56b85bfbaf507cc2959d.tar.xz
s390/mm: fix memory leak of ptlock in pmd_free_tlb
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>
Diffstat (limited to 'arch/s390/include/asm/tlb.h')
-rw-r--r--arch/s390/include/asm/tlb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
index 572c59949004..06d8741ad6f4 100644
--- a/arch/s390/include/asm/tlb.h
+++ b/arch/s390/include/asm/tlb.h
@@ -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
}