From mboxrd@z Thu Jan 1 00:00:00 1970 From: patrick.oppenlander at gmail.com Date: Fri, 17 Jul 2020 17:28:24 +1000 Subject: [PATCH 2/3] mkimage: fit: handle FDT_ERR_NOSPACE when ciphering In-Reply-To: <20200717072825.371105-1-patrick.oppenlander@gmail.com> References: <20200717072825.371105-1-patrick.oppenlander@gmail.com> Message-ID: <20200717072825.371105-2-patrick.oppenlander@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Patrick Oppenlander This meant that the order of operations had to change. If we replace the data property first then fail to add the data-size-unciphered property the data will be ciphered again when retrying. Signed-off-by: Patrick Oppenlander --- tools/image-host.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tools/image-host.c b/tools/image-host.c index 8fa1b9aba7..87ef79ef53 100644 --- a/tools/image-host.c +++ b/tools/image-host.c @@ -399,25 +399,26 @@ int fit_image_write_cipher(void *fit, int image_noffset, int noffset, { int ret = -1; - /* Remove unciphered data */ - ret = fdt_delprop(fit, image_noffset, FIT_DATA_PROP); + /* add non ciphered data size */ + ret = fdt_setprop_u32(fit, image_noffset, "data-size-unciphered", size); + if (ret == -FDT_ERR_NOSPACE) { + ret = -ENOSPC; + goto out; + } if (ret) { - printf("Can't remove data (err = %d)\n", ret); + printf("Can't add unciphered data size (err = %d)\n", ret); goto out; } /* Add ciphered data */ ret = fdt_setprop(fit, image_noffset, FIT_DATA_PROP, data_ciphered, data_ciphered_len); - if (ret) { - printf("Can't add ciphered data (err = %d)\n", ret); + if (ret == -FDT_ERR_NOSPACE) { + ret = -ENOSPC; goto out; } - - /* add non ciphered data size */ - ret = fdt_setprop_u32(fit, image_noffset, "data-size-unciphered", size); if (ret) { - printf("Can't add unciphered data size (err = %d)\n", ret); + printf("Can't add ciphered data (err = %d)\n", ret); goto out; } -- 2.27.0