Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/boot: account Real Memory Copy and Lowcore areas

Real Memory Copy and (absolute) Lowcore areas are
not accounted when virtual memory layout is set up.

Fixes: 4df29d2b9024 ("s390/smp: rework absolute lowcore access")
Fixes: 2f0e8aae26a2 ("s390/mm: rework memcpy_real() to avoid DAT-off mode")
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>

authored by

Alexander Gordeev and committed by
Heiko Carstens
09cd4ffa a984f27e

+2 -1
+2 -1
arch/s390/boot/startup.c
··· 185 185 vmemmap_size = SECTION_ALIGN_UP(pages) * sizeof(struct page); 186 186 187 187 /* choose kernel address space layout: 4 or 3 levels. */ 188 - vsize = round_up(ident_map_size, _REGION3_SIZE) + vmemmap_size + MODULES_LEN; 188 + vsize = round_up(ident_map_size, _REGION3_SIZE) + vmemmap_size + 189 + MODULES_LEN + MEMCPY_REAL_SIZE + ABS_LOWCORE_MAP_SIZE; 189 190 vsize = size_add(vsize, vmalloc_size); 190 191 if (IS_ENABLED(CONFIG_KASAN) || (vsize > _REGION2_SIZE)) { 191 192 asce_limit = _REGION1_SIZE;