From: Alexandre Ghiti Date: Mon, 17 Feb 2020 05:28:47 +0000 (-0500) Subject: riscv: Fix range looking for kernel image memblock X-Git-Tag: Ubuntu-5.4.0-22.26~273 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=bc45e1257fa599485d5edaf01a922b56ab631166;p=mirror_ubuntu-focal-kernel.git riscv: Fix range looking for kernel image memblock BugLink: https://bugs.launchpad.net/bugs/1869061 [ Upstream commit a160eed4b783d7b250a32f7e5787c9867abc5686 ] When looking for the memblock where the kernel lives, we should check that the memory range associated to the memblock entirely comprises the kernel image and not only intersects with it. Signed-off-by: Alexandre Ghiti Reviewed-by: Anup Patel Signed-off-by: Palmer Dabbelt Signed-off-by: Sasha Levin Signed-off-by: Kamal Mostafa --- diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 573463d1c799..f5d813c1304d 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -98,7 +98,7 @@ void __init setup_bootmem(void) for_each_memblock(memory, reg) { phys_addr_t end = reg->base + reg->size; - if (reg->base <= vmlinux_end && vmlinux_end <= end) { + if (reg->base <= vmlinux_start && vmlinux_end <= end) { mem_size = min(reg->size, (phys_addr_t)-PAGE_OFFSET); /*