From: Martin Schwidefsky Date: Tue, 27 Nov 2018 13:04:04 +0000 (+0100) Subject: s390/mm: correct pgtable_bytes on page table downgrade X-Git-Tag: v5.15~7526^2 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=814cedbc0b78d75e335c96da9b9391142eab5600;p=mirror_ubuntu-kernels.git 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 --- 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) } pgd = mm->pgd; + mm_dec_nr_pmds(mm); mm->pgd = (pgd_t *) (pgd_val(*pgd) & _REGION_ENTRY_ORIGIN); mm->context.asce_limit = _REGION3_SIZE; mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH |