diff options
Diffstat (limited to 'arch/s390/kernel/setup.c')
| -rw-r--r-- | arch/s390/kernel/setup.c | 2 | 
1 files changed, 2 insertions, 0 deletions
| diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index a5360de85ec..29268859d8e 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -571,6 +571,8 @@ static void __init setup_memory_end(void)  	/* Split remaining virtual space between 1:1 mapping & vmemmap array */  	tmp = VMALLOC_START / (PAGE_SIZE + sizeof(struct page)); +	/* vmemmap contains a multiple of PAGES_PER_SECTION struct pages */ +	tmp = SECTION_ALIGN_UP(tmp);  	tmp = VMALLOC_START - tmp * sizeof(struct page);  	tmp &= ~((vmax >> 11) - 1);	/* align to page table level */  	tmp = min(tmp, 1UL << MAX_PHYSMEM_BITS); |