From 05b0f241f271415d9a26416a5bec316f29a2583f Mon Sep 17 00:00:00 2001 From: Steven Lawrance Date: Wed, 14 Sep 2022 20:57:28 +0200 Subject: 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 Reviewed-by: Simon Glass --- boot/image-pre-load.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'boot') 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; -- cgit v1.2.3