diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-11-27 08:04:04 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-11-27 08:07:12 -0500 |
commit | 814cedbc0b78d75e335c96da9b9391142eab5600 (patch) | |
tree | 62be82c7ba87efd2d8a9669be412c52c6eb71c75 | |
parent | 104f708fd1241b22f808bdf066ab67dc5a051de5 (diff) |
s390/mm: correct pgtable_bytes on page table downgrade
The downgrade of a page table from 3 levels to 2 levels for a 31-bit compat
process removes a pmd table which has to be counted against pgtable_bytes.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | arch/s390/mm/pgalloc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c index 814f26520aa2..6791562779ee 100644 --- a/arch/s390/mm/pgalloc.c +++ b/arch/s390/mm/pgalloc.c | |||
@@ -131,6 +131,7 @@ void crst_table_downgrade(struct mm_struct *mm) | |||
131 | } | 131 | } |
132 | 132 | ||
133 | pgd = mm->pgd; | 133 | pgd = mm->pgd; |
134 | mm_dec_nr_pmds(mm); | ||
134 | mm->pgd = (pgd_t *) (pgd_val(*pgd) & _REGION_ENTRY_ORIGIN); | 135 | mm->pgd = (pgd_t *) (pgd_val(*pgd) & _REGION_ENTRY_ORIGIN); |
135 | mm->context.asce_limit = _REGION3_SIZE; | 136 | mm->context.asce_limit = _REGION3_SIZE; |
136 | mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | | 137 | mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH | |