Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 823a19cd authored by Russell King's avatar Russell King
Browse files

ARM: fix alignment of keystone page table fixup



If init_mm.brk is not section aligned, the LPAE fixup code will miss
updating the final PMD.  Fix this by aligning map_end.

Fixes: a77e0c7b ("ARM: mm: Recreate kernel mappings in early_paging_init()")
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 91942d17
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1406,8 +1406,8 @@ void __init early_paging_init(const struct machine_desc *mdesc,
		return;

	/* remap kernel code and data */
	map_start = init_mm.start_code;
	map_end   = init_mm.brk;
	map_start = init_mm.start_code & PMD_MASK;
	map_end   = ALIGN(init_mm.brk, PMD_SIZE);

	/* get a handle on things... */
	pgd0 = pgd_offset_k(0);
@@ -1442,7 +1442,7 @@ void __init early_paging_init(const struct machine_desc *mdesc,
	}

	/* remap pmds for kernel mapping */
	phys = __pa(map_start) & PMD_MASK;
	phys = __pa(map_start);
	do {
		*pmdk++ = __pmd(phys | pmdprot);
		phys += PMD_SIZE;