On 09.12.2024 16:56, Jan Beulich wrote: > On 27.11.2024 13:50, Oleksii Kurochko wrote: >> Relocate FDT to Xen heap instead of using early mapping as it is >> expected that discard_initial_modules() ( is supposed to call in >> the future ) discards the FDT boot module and remove_early_mappings() >> destroys the early mapping. >> >> Unflatten a device tree, creating the tree of struct device_node. >> It also fills the "name" and "type" pointers of the nodes so the normal >> device-tree walking functions can be used. >> >> Set device_tree_flattened to NULL in the case when acpi_disabled is >> equal to false. >> >> Signed-off-by: Oleksii Kurochko <oleksii.kuroc...@gmail.com> > > Acked-by: Jan Beulich <jbeul...@suse.com> > > Albeit ... > >> @@ -71,6 +72,7 @@ void __init noreturn start_xen(unsigned long bootcpu_id, >> paddr_t dtb_addr) >> { >> const char *cmdline; >> + size_t fdt_size; >> >> remove_identity_mapping(); >> >> @@ -95,7 +97,7 @@ void __init noreturn start_xen(unsigned long bootcpu_id, >> _end - _start, false) ) >> panic("Failed to add BOOTMOD_XEN\n"); >> >> - if ( !boot_fdt_info(device_tree_flattened, dtb_addr) ) >> + if ( !(fdt_size = boot_fdt_info(device_tree_flattened, dtb_addr)) ) >> BUG(); > > ... perhaps better > > fdt_size = boot_fdt_info(device_tree_flattened, dtb_addr); > BUG_ON(!fdt_size); > > ?
And then I notice that Arm has no such check at all. Better stay in sync? Jan