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: 3e0d3e408e
("s390/vmem: consolidate vmem_add_range() and vmem_remove_range()")
Reviewed-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
1196f12a2c
commit
bffc2f7aa9
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue