From: Quentin Schulz Date: Tue, 23 Sep 2025 10:27:22 +0000 (+0200) Subject: mkimage: fit: erase data-size property when importing data X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b3ab77345e3d1e7f40f1991e5072daf0f2d972dc;p=thirdparty%2Fu-boot.git mkimage: fit: erase data-size property when importing data When importing data, the data-offset property is removed and the data content is imported inside the data property of the node. When mkimage is run twice on the same FIT, data-size property is already set in the second run, from the first run (via the fit_export_data function). If we don't remove the data-size property, nothing guarantees it matches the actual size of data within the data property. To avoid possible mistakes when handling the data property, let's simply remove the data-size property as well. This also fixes an ordering issue of the data-size and data-offset properties in FIT when comparing the FIT after one run of mkimage and a second run. This is due to fit_export_data setting data-offset property first (it doesn't exist so it's added) and then data-size (it doesn't exist so it's added) for the first run, while it sets data-offset property first (removed in fit_import_data, so it doesn't exist so it's added) and then data-size (it exists already from the first run, so it's simply modified) for the second run. Signed-off-by: Quentin Schulz --- diff --git a/tools/fit_image.c b/tools/fit_image.c index d026f6ff9c8..0306333141e 100644 --- a/tools/fit_image.c +++ b/tools/fit_image.c @@ -819,6 +819,14 @@ static int fit_import_data(struct image_tool_params *params, const char *fname) ret = -EINVAL; goto err_munmap; } + + ret = fdt_delprop(fdt, node, FIT_DATA_SIZE_PROP); + if (ret) { + debug("%s: Failed to erase %s property: %s\n", __func__, + FIT_DATA_SIZE_PROP, fdt_strerror(ret)); + ret = -EINVAL; + goto err_munmap; + } } confs = fdt_path_offset(fdt, FIT_CONFS_PATH);