[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH qemu] spapr: Initialize reserved areas list in FDT
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH qemu] spapr: Initialize reserved areas list in FDT in H_CAS handler |
Date: |
Thu, 5 Apr 2018 12:23:34 +1000 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Thu, Apr 05, 2018 at 12:07:38PM +1000, Alexey Kardashevskiy wrote:
> At the moment the device tree produced by the H_CAS handler has no
> reserved map initialized at all which is not correct as at least one
> empty record is required to be present as a marker of the end.
> This does not cause problems now as the only consumer is SLOF which
> does not look at the reserved map area.
>
> However when DTC's "Improve libfdt's memory safety" changeset hits
> the QEMU upstream, there will be errors reported and crashes observed.
>
> This fixes the problem by adding an empty entry to the reserved map,
> just like create_device_tree() does already.
>
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
Applied to ppc-for-2.12, thanks.
> ---
> hw/ppc/spapr.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 2c0be8c..a81570e 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -865,6 +865,7 @@ int spapr_h_cas_compose_response(sPAPRMachineState *spapr,
> /* Create skeleton */
> fdt_skel = g_malloc0(size);
> _FDT((fdt_create(fdt_skel, size)));
> + _FDT((fdt_finish_reservemap(fdt_skel)));
> _FDT((fdt_begin_node(fdt_skel, "")));
> _FDT((fdt_end_node(fdt_skel)));
> _FDT((fdt_finish(fdt_skel)));
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature