aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/mm/pgtable.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/mm/pgtable.c')
-rw-r--r--arch/s390/mm/pgtable.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
index e60e0ae13402..019f518cd5a0 100644
--- a/arch/s390/mm/pgtable.c
+++ b/arch/s390/mm/pgtable.c
@@ -78,6 +78,7 @@ unsigned long *page_table_alloc(int noexec)
78 clear_table(table, _PAGE_TYPE_EMPTY, PAGE_SIZE); 78 clear_table(table, _PAGE_TYPE_EMPTY, PAGE_SIZE);
79 page->index = (addr_t) table; 79 page->index = (addr_t) table;
80 } 80 }
81 pgtable_page_ctor(page);
81 table = (unsigned long *) page_to_phys(page); 82 table = (unsigned long *) page_to_phys(page);
82 clear_table(table, _PAGE_TYPE_EMPTY, PAGE_SIZE); 83 clear_table(table, _PAGE_TYPE_EMPTY, PAGE_SIZE);
83 return table; 84 return table;
@@ -87,6 +88,7 @@ void page_table_free(unsigned long *table)
87{ 88{
88 unsigned long *shadow = get_shadow_pte(table); 89 unsigned long *shadow = get_shadow_pte(table);
89 90
91 pgtable_page_dtor(virt_to_page(table));
90 if (shadow) 92 if (shadow)
91 free_page((unsigned long) shadow); 93 free_page((unsigned long) shadow);
92 free_page((unsigned long) table); 94 free_page((unsigned long) table);