diff options
Diffstat (limited to 'arch/arm64/include/asm/tlb.h')
| -rw-r--r-- | arch/arm64/include/asm/tlb.h | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/arch/arm64/include/asm/tlb.h b/arch/arm64/include/asm/tlb.h index 106fdc951b6e..a287189ca8b4 100644 --- a/arch/arm64/include/asm/tlb.h +++ b/arch/arm64/include/asm/tlb.h @@ -27,6 +27,7 @@ static inline void __tlb_remove_table(void *_table)  	free_page_and_swap_cache((struct page *)_table);  } +#define tlb_flush tlb_flush  static void tlb_flush(struct mmu_gather *tlb);  #include <asm-generic/tlb.h> @@ -62,7 +63,10 @@ static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,  static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp,  				  unsigned long addr)  { -	tlb_remove_table(tlb, virt_to_page(pmdp)); +	struct page *page = virt_to_page(pmdp); + +	pgtable_pmd_page_dtor(page); +	tlb_remove_table(tlb, page);  }  #endif |