]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
MIPS: Don't round up kernel sections size for memblock_add()
authorAlexander Sverdlin <alexander.sverdlin@nokia.com>
Thu, 3 Dec 2020 12:36:48 +0000 (13:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:51:18 +0000 (11:51 +0100)
commita64822872957e24b617797f62d5218edb313cdce
tree7682f166842d0473a2c154c72bd5570abe08018c
parent33eeb395515d2a9d956bd1eb4726138919296b42
MIPS: Don't round up kernel sections size for memblock_add()

[ Upstream commit d121f125af22a16f0f679293756d28a9691fa46d ]

Linux doesn't own the memory immediately after the kernel image. On Octeon
bootloader places a shared structure right close after the kernel _end,
refer to "struct cvmx_bootinfo *octeon_bootinfo" in cavium-octeon/setup.c.

If check_kernel_sections_mem() rounds the PFNs up, first memblock_alloc()
inside early_init_dt_alloc_memory_arch() <= device_tree_init() returns
memory block overlapping with the above octeon_bootinfo structure, which
is being overwritten afterwards.

Fixes: a94e4f24ec83 ("MIPS: init: Drop boot_mem_map")
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/mips/kernel/setup.c