diff options
author | Tom Rini <trini@konsulko.com> | 2021-09-14 15:47:07 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-09-14 15:47:07 -0400 |
commit | c6eac9122f022424f274dede255c793523c25953 (patch) | |
tree | 5a61299f2b0786ddf20627a5ea83ee90d10f674a | |
parent | 5c25757326ba2481490ebe0f0d59f5933e31d45d (diff) | |
parent | de41f0ee0d68bcdf7d97018fdfe4bfe9fe3e53a2 (diff) | |
download | u-boot-c6eac9122f022424f274dede255c793523c25953.tar.gz u-boot-c6eac9122f022424f274dede255c793523c25953.tar.bz2 u-boot-c6eac9122f022424f274dede255c793523c25953.zip |
Merge branch '2021-09-14-assorted-fixes'
- Assorted bugfixes
-rw-r--r-- | common/image-sig.c | 23 | ||||
-rw-r--r-- | drivers/pinctrl/Kconfig | 2 | ||||
-rw-r--r-- | include/image.h | 4 | ||||
-rw-r--r-- | lib/Kconfig | 4 | ||||
-rw-r--r-- | lib/rsa/rsa-sign.c | 2 | ||||
-rw-r--r-- | lib/rsa/rsa-verify.c | 15 |
6 files changed, 29 insertions, 21 deletions
diff --git a/common/image-sig.c b/common/image-sig.c index fb0035524e..fa9407bb30 100644 --- a/common/image-sig.c +++ b/common/image-sig.c @@ -51,19 +51,6 @@ struct checksum_algo checksum_algos[] = { }; -struct padding_algo padding_algos[] = { - { - .name = "pkcs-1.5", - .verify = padding_pkcs_15_verify, - }, -#ifdef CONFIG_FIT_RSASSA_PSS - { - .name = "pss", - .verify = padding_pss_verify, - } -#endif /* CONFIG_FIT_RSASSA_PSS */ -}; - struct checksum_algo *image_get_checksum_algo(const char *full_name) { int i; @@ -129,14 +116,16 @@ struct crypto_algo *image_get_crypto_algo(const char *full_name) struct padding_algo *image_get_padding_algo(const char *name) { - int i; + struct padding_algo *padding, *end; if (!name) return NULL; - for (i = 0; i < ARRAY_SIZE(padding_algos); i++) { - if (!strcmp(padding_algos[i].name, name)) - return &padding_algos[i]; + padding = ll_entry_start(struct padding_algo, paddings); + end = ll_entry_end(struct padding_algo, paddings); + for (; padding < end; padding++) { + if (!strcmp(padding->name, name)) + return padding; } return NULL; diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index 77fb851114..30eaa376c8 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig @@ -69,7 +69,7 @@ config PINCONF_RECURSIVE direct children of the pin controller device (may be grandchildren for example). It is define is each individual pin controller device. Say Y here if you want to keep this behavior with the pinconfig - u-class: all sub are recursivelly bounded. + u-class: all sub are recursively bounded. If the option is disabled, this behavior is deactivated and only the direct children of pin controller will be assumed as pin configuration; you can save memory footprint when this feature is diff --git a/include/image.h b/include/image.h index 98b33d0629..73a763a693 100644 --- a/include/image.h +++ b/include/image.h @@ -1312,6 +1312,10 @@ struct padding_algo { const uint8_t *hash, int hash_len); }; +/* Declare a new U-Boot padding algorithm handler */ +#define U_BOOT_PADDING_ALGO(__name) \ +ll_entry_declare(struct padding_algo, __name, paddings) + /** * image_get_checksum_algo() - Look up a checksum algorithm * diff --git a/lib/Kconfig b/lib/Kconfig index 48565a4169..130fa0630a 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -474,7 +474,7 @@ config LZMA config LZO bool "Enable LZO decompression support" help - This enables support for LZO compression algorithm.r + This enables support for the LZO compression algorithm. config GZIP bool "Enable gzip decompression support" @@ -533,7 +533,7 @@ config SPL_GZIP bool "Enable gzip decompression support for SPL build" select SPL_ZLIB help - This enables support for GZIP compression altorithm for SPL boot. + This enables support for the GZIP compression algorithm for SPL boot. config SPL_ZLIB bool diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c index 085dc89bf7..0e0a890fd1 100644 --- a/lib/rsa/rsa-sign.c +++ b/lib/rsa/rsa-sign.c @@ -269,7 +269,7 @@ static int rsa_engine_get_priv_key(const char *keydir, const char *name, snprintf(key_id, sizeof(key_id), "%s%s", keydir, name); - else if (keydir) + else if (name) snprintf(key_id, sizeof(key_id), "%s", name); diff --git a/lib/rsa/rsa-verify.c b/lib/rsa/rsa-verify.c index 3840764e42..ad6d33d043 100644 --- a/lib/rsa/rsa-verify.c +++ b/lib/rsa/rsa-verify.c @@ -95,6 +95,13 @@ int padding_pkcs_15_verify(struct image_sign_info *info, return 0; } +#ifndef USE_HOSTCC +U_BOOT_PADDING_ALGO(pkcs_15) = { + .name = "pkcs-1.5", + .verify = padding_pkcs_15_verify, +}; +#endif + #ifdef CONFIG_FIT_RSASSA_PSS static void u32_i2osp(uint32_t val, uint8_t *buf) { @@ -296,6 +303,14 @@ out: return ret; } + +#ifndef USE_HOSTCC +U_BOOT_PADDING_ALGO(pss) = { + .name = "pss", + .verify = padding_pss_verify, +}; +#endif + #endif #if CONFIG_IS_ENABLED(FIT_SIGNATURE) || CONFIG_IS_ENABLED(RSA_VERIFY_WITH_PKEY) |