diff options
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/mm/pgtable.c | 2 |
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); |