From aea4f25d6982c9ace93677035a52332bd6e00749 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 18 Mar 2020 11:44:06 -0600 Subject: [PATCH] image: Use constants for 'required' and 'key-name-hint' These are used in multiple places so update them to use a shared #define. Change-Id: I3cc304f04c56c9d1a22df46e68f601b5acd2b34e Signed-off-by: Simon Glass Reviewed-by: Philippe Reynes Signed-off-by: Md Sadre Alam --- common/image-fit.c | 6 +++--- common/image-sig.c | 7 ++++--- include/image.h | 4 +++- lib/rsa/rsa-sign.c | 4 ++-- tools/image-host.c | 6 +++--- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/common/image-fit.c b/common/image-fit.c index 9df29d8c8e..afa7468e97 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -264,7 +264,7 @@ static void fit_image_print_data(const void *fit, int noffset, const char *p, uint8_t *value; int value_len; char *algo; - int required; + bool required; int ret, i; debug("%s %s node: '%s'\n", p, type, @@ -275,8 +275,8 @@ static void fit_image_print_data(const void *fit, int noffset, const char *p, return; } printf("%s", algo); - keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL); - required = fdt_getprop(fit, noffset, "required", NULL) != NULL; + keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL); + required = fdt_getprop(fit, noffset, FIT_KEY_REQUIRED, NULL) != NULL; if (keyname) printf(":%s", keyname); if (required) diff --git a/common/image-sig.c b/common/image-sig.c index 815091f81a..2ef8c4354d 100644 --- a/common/image-sig.c +++ b/common/image-sig.c @@ -156,7 +156,7 @@ static int fit_image_setup_verify(struct image_sign_info *info, return -1; } memset(info, '\0', sizeof(*info)); - info->keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL); + info->keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL); info->fit = (void *)fit; info->node_offset = noffset; info->algo = image_get_sig_algo(algo_name); @@ -264,7 +264,8 @@ int fit_image_verify_required_sigs(const void *fit, int image_noffset, const char *required; int ret; - required = fdt_getprop(sig_blob, noffset, "required", NULL); + required = fdt_getprop(sig_blob, noffset, FIT_KEY_REQUIRED, + NULL); if (!required || strcmp(required, "image")) continue; ret = fit_image_verify_sig(fit, image_noffset, data, size, @@ -473,7 +474,7 @@ int fit_config_verify_required_sigs(const void *fit, int conf_noffset, const char *required; int ret; - required = fdt_getprop(sig_blob, noffset, "required", NULL); + required = fdt_getprop(sig_blob, noffset, FIT_KEY_REQUIRED, NULL); if (!required || strcmp(required, "conf")) continue; ret = fit_config_verify_sig(fit, conf_noffset, sig_blob, diff --git a/include/image.h b/include/image.h index 11a46eea6f..43e873d627 100644 --- a/include/image.h +++ b/include/image.h @@ -762,12 +762,14 @@ int bootz_setup(ulong image, ulong *start, ulong *end); #define FIT_IMAGES_PATH "/images" #define FIT_CONFS_PATH "/configurations" -/* hash/signature node */ +/* hash/signature/key node */ #define FIT_HASH_NODENAME "hash" #define FIT_ALGO_PROP "algo" #define FIT_VALUE_PROP "value" #define FIT_IGNORE_PROP "uboot-ignore" #define FIT_SIG_NODENAME "signature" +#define FIT_KEY_REQUIRED "required" +#define FIT_KEY_HINT "key-name-hint" /* image node */ #define FIT_DATA_PROP "data" diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c index 5d9716f013..2a82bbb1b1 100644 --- a/lib/rsa/rsa-sign.c +++ b/lib/rsa/rsa-sign.c @@ -486,7 +486,7 @@ int rsa_add_verify_data(struct image_sign_info *info, void *keydest) } if (!ret) { - ret = fdt_setprop_string(keydest, node, "key-name-hint", + ret = fdt_setprop_string(keydest, node, FIT_KEY_HINT, info->keyname); } if (!ret) @@ -509,7 +509,7 @@ int rsa_add_verify_data(struct image_sign_info *info, void *keydest) info->algo->name); } if (info->require_keys) { - ret = fdt_setprop_string(keydest, node, "required", + ret = fdt_setprop_string(keydest, node, FIT_KEY_REQUIRED, info->require_keys); } done: diff --git a/tools/image-host.c b/tools/image-host.c index 898bf5c35b..c2685628df 100644 --- a/tools/image-host.c +++ b/tools/image-host.c @@ -161,7 +161,7 @@ static int fit_image_setup_sig(struct image_sign_info *info, memset(info, '\0', sizeof(*info)); info->keydir = keydir; - info->keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL); + info->keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL); info->fit = fit; info->node_offset = noffset; info->algo = image_get_sig_algo(algo_name); @@ -234,7 +234,7 @@ static int fit_image_process_sig(const char *keydir, void *keydest, free(value); /* Get keyname again, as FDT has changed and invalidated our pointer */ - info.keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL); + info.keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL); /* Write the public key into the supplied FDT file */ if (keydest && info.algo->add_verify_data(&info, keydest)) { @@ -605,7 +605,7 @@ static int fit_config_process_sig(const char *keydir, void *keydest, free(region_prop); /* Get keyname again, as FDT has changed and invalidated our pointer */ - info.keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL); + info.keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL); /* Write the public key into the supplied FDT file */ if (keydest) {