fdt_finish_reservemap() may fail (with -FDT_ERR_NOSPACE) in which case
further DTB creation (in prepare_dtb_hwdom()) makes no sense. Fix it.
Fixes: 13bb63b754e4 ("device tree,arm: supply a flat device tree to dom0")
Signed-off-by: Michal Orzel <[email protected]>
---
xen/arch/arm/domain_build.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7b47abade196..fe05cf6d855f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2033,7 +2033,9 @@ static int __init prepare_dtb_hwdom(struct domain *d,
struct kernel_info *kinfo)
if ( ret < 0 )
goto err;
- fdt_finish_reservemap(kinfo->fdt);
+ ret = fdt_finish_reservemap(kinfo->fdt);
+ if ( ret )
+ goto err;
ret = handle_node(d, kinfo, dt_host, default_p2mt);
if ( ret )
--
2.25.1