Message ID | 20210522174951.377107-1-twd2.me@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RISC-V: Fix memblock_free() usages in init_resources() | expand |
On Sat, 22 May 2021 10:49:51 PDT (-0700), twd2.me@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@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.
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); }
`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@gmail.com> --- arch/riscv/kernel/setup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)