RISC-V: Fix usage of memblock_enforce_memory_limit
authorAtish Patra <atish.patra@wdc.com>
Sat, 19 Dec 2020 00:13:56 +0000 (16:13 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:54:13 +0000 (11:54 +0100)
commit de043da0b9e71147ca610ed542d34858aadfc61c upstream.

memblock_enforce_memory_limit accepts the maximum memory size not the
maximum address that can be handled by kernel. Fix the function invocation
accordingly.

Fixes: 1bd14a66ee52 ("RISC-V: Remove any memblock representing unusable memory area")
Cc: stable@vger.kernel.org
Reported-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/riscv/mm/init.c

index 8e577f1..e4133c2 100644 (file)
@@ -174,7 +174,7 @@ void __init setup_bootmem(void)
         * Make sure that any memory beyond mem_start + (-PAGE_OFFSET) is removed
         * as it is unusable by kernel.
         */
-       memblock_enforce_memory_limit(mem_start - PAGE_OFFSET);
+       memblock_enforce_memory_limit(-PAGE_OFFSET);
 
        /* Reserve from the start of the kernel to the end of the kernel */
        memblock_reserve(vmlinux_start, vmlinux_end - vmlinux_start);