Commit bffc2f7a authored by Vasily Gorbik's avatar Vasily Gorbik

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: 3e0d3e40 ("s390/vmem: consolidate vmem_add_range() and vmem_remove_range()")
Reviewed-by: default avatarGerald Schaefer <gerald.schaefer@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent 1196f12a
...@@ -402,6 +402,7 @@ static int modify_p4d_table(pgd_t *pgd, unsigned long addr, unsigned long end, ...@@ -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); pud = vmem_crst_alloc(_REGION3_ENTRY_EMPTY);
if (!pud) if (!pud)
goto out; goto out;
p4d_populate(&init_mm, p4d, pud);
} }
ret = modify_pud_table(p4d, addr, next, add, direct); ret = modify_pud_table(p4d, addr, next, add, direct);
if (ret) if (ret)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment