aboutsummaryrefslogtreecommitdiff
path: root/boot
diff options
context:
space:
mode:
authorSteven Lawrance2022-09-14 20:57:28 +0200
committerTom Rini2022-10-11 15:40:48 -0400
commit05b0f241f271415d9a26416a5bec316f29a2583f (patch)
tree3f64066d60015688364b2fa66abe3524f6be16e9 /boot
parent7c5eeb8309a19c662efe6d7695c256975f6da0d4 (diff)
boot: image-pre-load: Check environment for location of signature info
Setting an alternative signature info node in "pre_load_sig_info_path" allows verification of an image using the bootm pre-load mechanism with a different key, e.g.: setenv pre_load_sig_info_path "/alt/sig" ; bootm preload [addr] Signed-off-by: Steven Lawrance <steven.lawrance@softathome.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'boot')
-rw-r--r--boot/image-pre-load.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/boot/image-pre-load.c b/boot/image-pre-load.c
index 01b60030fcf..b504ab42a54 100644
--- a/boot/image-pre-load.c
+++ b/boot/image-pre-load.c
@@ -33,6 +33,7 @@ static int image_pre_load_sig_setup(struct image_sig_info *info)
const u32 *sig_size;
int key_len;
int node, ret = 0;
+ char *sig_info_path = NULL;
if (!info) {
log_err("ERROR: info is NULL for image pre-load sig check\n");
@@ -42,7 +43,11 @@ static int image_pre_load_sig_setup(struct image_sig_info *info)
memset(info, 0, sizeof(*info));
- node = fdt_path_offset(gd_fdt_blob(), IMAGE_PRE_LOAD_PATH);
+ sig_info_path = env_get("pre_load_sig_info_path");
+ if (!sig_info_path)
+ sig_info_path = IMAGE_PRE_LOAD_PATH;
+
+ node = fdt_path_offset(gd_fdt_blob(), sig_info_path);
if (node < 0) {
log_info("INFO: no info for image pre-load sig check\n");
ret = 1;