]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
lib: Drop SHA512_ALGO in lieu of SHA512
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>
Fri, 3 Sep 2021 00:54:18 +0000 (19:54 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 8 Sep 2021 20:11:46 +0000 (16:11 -0400)
SHA512_ALGO was used as a "either SHA512 or SHA384", although the
implementations of these two algorithms share a majority of code.

From a Kconfig interface perspective, it makes sense to present two
distinct options. This requires #ifdefing out the SHA512
implementation from sha512.c. The latter doesn't make any sense.

It's reasonable to say in Kconfig that SHA384 depends on SHA512, and
seems to be the more polite way to handle the selection.

Thus, automatically select SHA512 when SHA384 is enabled.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
arch/arm/mach-socfpga/Kconfig
lib/Kconfig
lib/Makefile
lib/crypt/Kconfig
lib/efi_loader/Kconfig
lib/sha512.c

index f4791c1ebe5b7da4fd24ae15af86d7a8e3695fb9..bddfd44427ae4c0a282a479141732a38c4cc79b3 100644 (file)
@@ -11,7 +11,7 @@ config SOCFPGA_SECURE_VAB_AUTH
        depends on TARGET_SOCFPGA_AGILEX || TARGET_SOCFPGA_N5X
        select FIT_IMAGE_POST_PROCESS
        select SHA384
-       select SHA512_ALGO
+       select SHA512
        select SPL_FIT_IMAGE_POST_PROCESS
        help
         All images loaded from FIT will be authenticated by Secure Device
index c535147aeaa0c512936a08f746a8ccf46cf5f8f7..48565a4169d78985613b8dfe066b304b08c4f6ee 100644 (file)
@@ -375,14 +375,9 @@ config SHA256
          The SHA256 algorithm produces a 256-bit (32-byte) hash value
          (digest).
 
-config SHA512_ALGO
-       bool "Enable SHA512 algorithm"
-       help
-         This option enables support of internal SHA512 algorithm.
 
 config SHA512
        bool "Enable SHA512 support"
-       depends on SHA512_ALGO
        help
          This option enables support of hashing using SHA512 algorithm.
          The hash is calculated in software.
@@ -391,10 +386,11 @@ config SHA512
 
 config SHA384
        bool "Enable SHA384 support"
-       depends on SHA512_ALGO
+       select SHA512
        help
          This option enables support of hashing using SHA384 algorithm.
-         The hash is calculated in software.
+         The hash is calculated in software. This is also selects SHA512,
+         because these implementations share the bulk of the code..
          The SHA384 algorithm produces a 384-bit (48-byte) hash value
          (digest).
 
@@ -409,7 +405,7 @@ if SHA_HW_ACCEL
 
 config SHA512_HW_ACCEL
        bool "Enable hardware acceleration for SHA512"
-       depends on SHA512_ALGO
+       depends on SHA512
        help
          This option enables hardware acceleration for the SHA384 and SHA512
          hashing algorithms. This affects the 'hash' command and also the
index 8ba745faa084a732959591fbf81d6aae84ca5b48..6aa48ca3d507308a2f51d420335862c0542d845a 100644 (file)
@@ -65,7 +65,7 @@ obj-$(CONFIG_$(SPL_)RSA) += rsa/
 obj-$(CONFIG_HASH) += hash-checksum.o
 obj-$(CONFIG_SHA1) += sha1.o
 obj-$(CONFIG_SHA256) += sha256.o
-obj-$(CONFIG_SHA512_ALGO) += sha512.o
+obj-$(CONFIG_SHA512) += sha512.o
 obj-$(CONFIG_CRYPT_PW) += crypt/
 
 obj-$(CONFIG_$(SPL_)ZLIB) += zlib/
index 5495ae8d4cdfbc110d4d3238fa52b09bafeaa059..6a5002964224d861d12497ea46802390b8361baf 100644 (file)
@@ -20,7 +20,7 @@ config CRYPT_PW_SHA256
 config CRYPT_PW_SHA512
        bool "Provide sha512crypt"
        select SHA512
-       select SHA512_ALGO
+       select SHA512
        help
          Enables support for the sha512crypt password-hashing algorithm.
          The prefix is "$6$".
index dacc3b58810dfb5c405cbe45b18c933d76c4dad2..08463251cdf1f7058027e0df1a78e9bfcda7e790 100644 (file)
@@ -323,7 +323,7 @@ config EFI_TCG2_PROTOCOL
        depends on TPM_V2
        select SHA1
        select SHA256
-       select SHA512_ALGO
+       select SHA512
        select SHA384
        select SHA512
        select HASH
index 35f31e3dc5f8f51a5eda2610ea52fa8e42dfdcd7..a421f249ba2cc1a50e7d94a4bb74ae0546112b1f 100644 (file)
@@ -320,7 +320,6 @@ void sha384_csum_wd(const unsigned char *input, unsigned int ilen,
 
 #endif
 
-#if defined(CONFIG_SHA512)
 void sha512_starts(sha512_context * ctx)
 {
        ctx->state[0] = SHA512_H0;
@@ -381,4 +380,3 @@ void sha512_csum_wd(const unsigned char *input, unsigned int ilen,
 
        sha512_finish(&ctx, output);
 }
-#endif