From: Vasily Gorbik Date: Fri, 21 Aug 2020 16:27:36 +0000 (+0200) Subject: s390/vmem: fix vmem_add_range for 4-level paging X-Git-Tag: v5.10.7~1746^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bffc2f7aa96343f91931272d7a8a2d8d925e1ab2;p=platform%2Fkernel%2Flinux-rpi.git s390/vmem: fix vmem_add_range for 4-level paging The kernel currently crashes if 4-level paging is used. Add missing p4d_populate for just allocated pud entry. Fixes: 3e0d3e408e63 ("s390/vmem: consolidate vmem_add_range() and vmem_remove_range()") Reviewed-by: Gerald Schaefer Signed-off-by: Vasily Gorbik --- diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index 1aed1a4..eddf71c 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c @@ -402,6 +402,7 @@ static int modify_p4d_table(pgd_t *pgd, unsigned long addr, unsigned long end, pud = vmem_crst_alloc(_REGION3_ENTRY_EMPTY); if (!pud) goto out; + p4d_populate(&init_mm, p4d, pud); } ret = modify_pud_table(p4d, addr, next, add, direct); if (ret)