[PATCH] RISC-V: Fix memblock_free() usages in init_resources()
Palmer Dabbelt
palmer at dabbelt.com
Sat May 29 15:45:00 PDT 2021
On Sat, 22 May 2021 10:49:51 PDT (-0700), twd2.me at gmail.com wrote:
> `memblock_free()` takes a physical address as its first argument.
> Fix the wrong usages in `init_resources()`.
>
> Fixes: ffe0e526126884cf036a6f724220f1f9b4094fd2 ("RISC-V: Improve init_resources()")
> Fixes: 797f0375dd2ef5cdc68ac23450cbae9a5c67a74e ("RISC-V: Do not allocate memblock while iterating reserved memblocks")
> Signed-off-by: Wende Tan <twd2.me at gmail.com>
> ---
> arch/riscv/kernel/setup.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c
> index 03901d3a8b02..9a1b7a0603b2 100644
> --- a/arch/riscv/kernel/setup.c
> +++ b/arch/riscv/kernel/setup.c
> @@ -231,13 +231,13 @@ static void __init init_resources(void)
>
> /* Clean-up any unused pre-allocated resources */
> mem_res_sz = (num_resources - res_idx + 1) * sizeof(*mem_res);
> - memblock_free((phys_addr_t) mem_res, mem_res_sz);
> + memblock_free(__pa(mem_res), mem_res_sz);
> return;
>
> error:
> /* Better an empty resource tree than an inconsistent one */
> release_child_resources(&iomem_resource);
> - memblock_free((phys_addr_t) mem_res, mem_res_sz);
> + memblock_free(__pa(mem_res), mem_res_sz);
> }
Thanks, this is on fixes.
More information about the linux-riscv
mailing list