This patch looks incomplete. What if "chosen" is there but does not contain the relevant fields? On Thu, 31 Oct 2019, 11:39 Javier Martinez Canillas, wrote: > From: Mark Salter > > Recent upstream changes to kexec-tools relies on #address-cells > and #size-cells properties in the FDT. If grub2 needs to create > a chosen node, it is likely because firmware did not provide one. > In that case, set #address-cells and #size-cells properties to > make sure they exist. > > Signed-off-by: Mark Salter > Signed-off-by: Javier Martinez Canillas > --- > > grub-core/loader/arm64/linux.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git grub-core/loader/arm64/linux.c grub-core/loader/arm64/linux.c > index ef3e9f9444c..24d73732d89 100644 > --- grub-core/loader/arm64/linux.c > +++ grub-core/loader/arm64/linux.c > @@ -78,7 +78,21 @@ finalize_params_linux (void) > > node = grub_fdt_find_subnode (fdt, 0, "chosen"); > if (node < 0) > - node = grub_fdt_add_subnode (fdt, 0, "chosen"); > + { > + /* > + * If we have to create a chosen node, Make sure we > + * have #address-cells and #size-cells properties. > + */ > + retval = grub_fdt_set_prop32(fdt, 0, "#address-cells", 2); > + if (retval) > + goto failure; > + > + retval = grub_fdt_set_prop32(fdt, 0, "#size-cells", 2); > + if (retval) > + goto failure; > + > + node = grub_fdt_add_subnode (fdt, 0, "chosen"); > + } > > if (node < 1) > goto failure; > -- > 2.21.0 > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel >