include: fdt/fdt_helper: Change fdt_get_address() to return root.next_arg1
In sbi_domain_finalize(), when locating the coldboot hart's domain, the coldboot hart's scratch->arg1 will be overwritten by the domain configuration. However scratch->arg1 holds the FDT address of the coldboot hart, and is still being accessed by fdt_get_address() in later boot process. scratch->arg1 could then contain completely garbage and lead to a crash. To fix this, we change fdt_get_address() to return root domain's next_arg1 as the FDT pointer. Resolves: https://github.com/riscv-software-src/opensbi/issues/281 Fixes: b1678af2 ("lib: sbi: Add initial domain support") Reported-by:Marouene Boubakri <marouene.boubakri@nxp.com> Signed-off-by:
Bin Meng <bmeng@tinylab.org> Reviewed-by:
Anup Patel <anup@brainfault.org>
parent
745aaecc
Please register or sign in to comment