[[PATCH] tools: image-host: fix wrong return value

From: Ming Liu liu.ming50@gmail.com
The return value '-ENOSPC' of fit_set_timestamp function does not match the caller fit_image_write_sig's expection which is '-FDT_ERR_NOSPACE'.
Fix it by not calling fit_set_timestamp, but call fdt_setprop instead.
This fixes a following mkimage error: | Can't write signature for 'signature@1' signature node in | 'conf@imx6ull-colibri-wifi-eval-v3.dtb' conf node: <unknown error> | mkimage Can't add hashes to FIT blob: -1
Signed-off-by: Ming Liu liu.ming50@gmail.com --- tools/image-host.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/image-host.c b/tools/image-host.c index 270d36fe45..73095461a7 100644 --- a/tools/image-host.c +++ b/tools/image-host.c @@ -132,8 +132,10 @@ static int fit_image_write_sig(void *fit, int noffset, uint8_t *value, if (!ret) { time_t timestamp = imagetool_get_source_date(cmdname, time(NULL)); + uint32_t t = cpu_to_uimage(timestamp);
- ret = fit_set_timestamp(fit, noffset, timestamp); + ret = fdt_setprop(fit, noffset, FIT_TIMESTAMP_PROP, &t, + sizeof(uint32_t)); } if (region_prop && !ret) { uint32_t strdata[2];

Hi Ming,
On Mon, May 31, 2021 at 10:05 AM liu.ming50@gmail.com wrote:
From: Ming Liu liu.ming50@gmail.com
The return value '-ENOSPC' of fit_set_timestamp function does not match the caller fit_image_write_sig's expection which is '-FDT_ERR_NOSPACE'.
Fix it by not calling fit_set_timestamp, but call fdt_setprop instead.
This fixes a following mkimage error: | Can't write signature for 'signature@1' signature node in | 'conf@imx6ull-colibri-wifi-eval-v3.dtb' conf node: <unknown error> | mkimage Can't add hashes to FIT blob: -1
Signed-off-by: Ming Liu liu.ming50@gmail.com
tools/image-host.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/image-host.c b/tools/image-host.c index 270d36fe45..73095461a7 100644 --- a/tools/image-host.c +++ b/tools/image-host.c @@ -132,8 +132,10 @@ static int fit_image_write_sig(void *fit, int noffset, uint8_t *value, if (!ret) { time_t timestamp = imagetool_get_source_date(cmdname, time(NULL));
uint32_t t = cpu_to_uimage(timestamp);
ret = fit_set_timestamp(fit, noffset, timestamp);
ret = fdt_setprop(fit, noffset, FIT_TIMESTAMP_PROP, &t,
sizeof(uint32_t)); } if (region_prop && !ret) { uint32_t strdata[2];
-- 2.29.0
I've hit exactly the same issue on my side today :)
Tested-by: Igor Opaniuk igor.opaniuk@foundries.io

On Mon, May 31, 2021 at 09:04:51AM +0200, liu.ming50@gmail.com wrote:
From: Ming Liu liu.ming50@gmail.com
The return value '-ENOSPC' of fit_set_timestamp function does not match the caller fit_image_write_sig's expection which is '-FDT_ERR_NOSPACE'.
Fix it by not calling fit_set_timestamp, but call fdt_setprop instead.
This fixes a following mkimage error: | Can't write signature for 'signature@1' signature node in | 'conf@imx6ull-colibri-wifi-eval-v3.dtb' conf node: <unknown error> | mkimage Can't add hashes to FIT blob: -1
Signed-off-by: Ming Liu liu.ming50@gmail.com Tested-by: Igor Opaniuk igor.opaniuk@foundries.io
Applied to u-boot/master, thanks!
participants (3)
-
Igor Opaniuk
-
liu.ming50@gmail.com
-
Tom Rini