diff mbox series

[2/4] xen/arm: Check return code from fdt_finish_reservemap()

Message ID 20250303085650.74098-3-michal.orzel@amd.com (mailing list archive)
State New
Headers show
Series xen/arm: misc tiny fixes | expand

Commit Message

Orzel, Michal March 3, 2025, 8:56 a.m. UTC
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 <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Bertrand Marquis March 3, 2025, 9:10 a.m. UTC | #1
Hi Michal,

> On 3 Mar 2025, at 09:56, Michal Orzel <michal.orzel@amd.com> wrote:
> 
> 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 <michal.orzel@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> 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
>
diff mbox series

Patch

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 )