|
@@ -0,0 +1,71 @@
|
|
|
+From b2c109c012ca946baebbb23e7f4301f6eee4c6f3 Mon Sep 17 00:00:00 2001
|
|
|
+From: Daniel Golle <[email protected]>
|
|
|
+Date: Mon, 15 Aug 2022 12:15:50 +0200
|
|
|
+Subject: [PATCH 2/2] image-fit: don't set compression if it can't be read
|
|
|
+
|
|
|
+fit_image_get_comp() should not set value -1 in case it can't read
|
|
|
+the compression node. Instead, leave the value untouched in that case
|
|
|
+as it can be absent and a default value previously defined by the
|
|
|
+caller of fit_image_get_comp() should be used.
|
|
|
+
|
|
|
+As a result the warning message
|
|
|
+WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
|
|
|
+no longer shows if the compression node is actually absent.
|
|
|
+
|
|
|
+Signed-off-by: Daniel Golle <[email protected]>
|
|
|
+---
|
|
|
+ boot/bootm.c | 6 ++----
|
|
|
+ boot/image-fit.c | 3 +--
|
|
|
+ cmd/ximg.c | 7 ++-----
|
|
|
+ 3 files changed, 5 insertions(+), 11 deletions(-)
|
|
|
+
|
|
|
+--- a/boot/bootm.c
|
|
|
++++ b/boot/bootm.c
|
|
|
+@@ -1024,10 +1024,8 @@ static int bootm_host_load_image(const v
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+- if (fit_image_get_comp(fit, noffset, &image_comp)) {
|
|
|
+- puts("Can't get image compression!\n");
|
|
|
+- return -EINVAL;
|
|
|
+- }
|
|
|
++ if (fit_image_get_comp(fit, noffset, &image_comp))
|
|
|
++ image_comp = IH_COMP_NONE;
|
|
|
+
|
|
|
+ /* Allow the image to expand by a factor of 4, should be safe */
|
|
|
+ load_buf = malloc((1 << 20) + len * 4);
|
|
|
+--- a/boot/image-fit.c
|
|
|
++++ b/boot/image-fit.c
|
|
|
+@@ -477,7 +477,7 @@ void fit_print_contents(const void *fit)
|
|
|
+ void fit_image_print(const void *fit, int image_noffset, const char *p)
|
|
|
+ {
|
|
|
+ char *desc;
|
|
|
+- uint8_t type, arch, os, comp;
|
|
|
++ uint8_t type, arch, os, comp = IH_COMP_NONE;
|
|
|
+ size_t size;
|
|
|
+ ulong load, entry;
|
|
|
+ const void *data;
|
|
|
+@@ -794,7 +794,6 @@ int fit_image_get_comp(const void *fit,
|
|
|
+ data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len);
|
|
|
+ if (data == NULL) {
|
|
|
+ fit_get_debug(fit, noffset, FIT_COMP_PROP, len);
|
|
|
+- *comp = -1;
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+--- a/cmd/ximg.c
|
|
|
++++ b/cmd/ximg.c
|
|
|
+@@ -171,11 +171,8 @@ do_imgextract(struct cmd_tbl *cmdtp, int
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+- if (fit_image_get_comp(fit_hdr, noffset, &comp)) {
|
|
|
+- puts("Could not find script subimage "
|
|
|
+- "compression type\n");
|
|
|
+- return 1;
|
|
|
+- }
|
|
|
++ if (fit_image_get_comp(fit_hdr, noffset, &comp))
|
|
|
++ comp = IH_COMP_NONE;
|
|
|
+
|
|
|
+ data = (ulong)fit_data;
|
|
|
+ len = (ulong)fit_len;
|