image: Load the correct configuration in fit_check_sign
authorSimon Glass <sjg@chromium.org>
Wed, 18 Mar 2020 17:44:02 +0000 (11:44 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 1 Apr 2020 13:45:09 +0000 (07:45 -0600)
At present bootm_host_load_images() is passed the configuration that has
been verified, but ignores it and just uses the default configuration.
This may not be the same.

Update this function to use the selected configuration.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/bootm.c

index 902c13880dd3ecee9d6b05585c9bdd43873b79f1..db4362a64307889307af364d0bb8ab5e5d8ac1a7 100644 (file)
@@ -819,7 +819,8 @@ void __weak switch_to_non_secure_mode(void)
 #else /* USE_HOSTCC */
 
 #if defined(CONFIG_FIT_SIGNATURE)
-static int bootm_host_load_image(const void *fit, int req_image_type)
+static int bootm_host_load_image(const void *fit, int req_image_type,
+                                int cfg_noffset)
 {
        const char *fit_uname_config = NULL;
        ulong data, len;
@@ -831,6 +832,7 @@ static int bootm_host_load_image(const void *fit, int req_image_type)
        void *load_buf;
        int ret;
 
+       fit_uname_config = fdt_get_name(fit, cfg_noffset, NULL);
        memset(&images, '\0', sizeof(images));
        images.verify = 1;
        noffset = fit_image_load(&images, (ulong)fit,
@@ -878,7 +880,7 @@ int bootm_host_load_images(const void *fit, int cfg_noffset)
        for (i = 0; i < ARRAY_SIZE(image_types); i++) {
                int ret;
 
-               ret = bootm_host_load_image(fit, image_types[i]);
+               ret = bootm_host_load_image(fit, image_types[i], cfg_noffset);
                if (!err && ret && ret != -ENOENT)
                        err = ret;
        }