]> Git Repo - J-u-boot.git/commitdiff
tpm: add kconfig control in tcg2_create_digest()
authorRaymond Mao <[email protected]>
Tue, 24 Dec 2024 16:01:13 +0000 (08:01 -0800)
committerIlias Apalodimas <[email protected]>
Tue, 7 Jan 2025 13:45:52 +0000 (15:45 +0200)
To allow disabling algorithms for tcg2, in function
tcg2_create_digest(), each hash algorithm operations should under
the hash kconfig control to avoid building errors when the algorithm
is disabled.

Signed-off-by: Raymond Mao <[email protected]>
Reviewed-by: Ilias Apalodimas <[email protected]>
lib/tpm_tcg2.c

index 37818fcc85150eaab783dc86bca50bc45c085120..4134d93a3585e005a1a5ba8ccf935f444e6823a4 100644 (file)
@@ -95,9 +95,15 @@ int tcg2_create_digest(struct udevice *dev, const u8 *input, u32 length,
 {
        struct tpm_chip_priv *priv = dev_get_uclass_priv(dev);
        u8 final[sizeof(union tpmu_ha)];
+#if IS_ENABLED(CONFIG_SHA256)
        sha256_context ctx_256;
+#endif
+#if IS_ENABLED(CONFIG_SHA512)
        sha512_context ctx_512;
+#endif
+#if IS_ENABLED(CONFIG_SHA1)
        sha1_context ctx;
+#endif
        size_t i;
        u32 len;
 
@@ -105,30 +111,38 @@ int tcg2_create_digest(struct udevice *dev, const u8 *input, u32 length,
        for (i = 0; i < priv->active_bank_count; i++) {
 
                switch (priv->active_banks[i]) {
+#if IS_ENABLED(CONFIG_SHA1)
                case TPM2_ALG_SHA1:
                        sha1_starts(&ctx);
                        sha1_update(&ctx, input, length);
                        sha1_finish(&ctx, final);
                        len = TPM2_SHA1_DIGEST_SIZE;
                        break;
+#endif
+#if IS_ENABLED(CONFIG_SHA256)
                case TPM2_ALG_SHA256:
                        sha256_starts(&ctx_256);
                        sha256_update(&ctx_256, input, length);
                        sha256_finish(&ctx_256, final);
                        len = TPM2_SHA256_DIGEST_SIZE;
                        break;
+#endif
+#if IS_ENABLED(CONFIG_SHA384)
                case TPM2_ALG_SHA384:
                        sha384_starts(&ctx_512);
                        sha384_update(&ctx_512, input, length);
                        sha384_finish(&ctx_512, final);
                        len = TPM2_SHA384_DIGEST_SIZE;
                        break;
+#endif
+#if IS_ENABLED(CONFIG_SHA512)
                case TPM2_ALG_SHA512:
                        sha512_starts(&ctx_512);
                        sha512_update(&ctx_512, input, length);
                        sha512_finish(&ctx_512, final);
                        len = TPM2_SHA512_DIGEST_SIZE;
                        break;
+#endif
                default:
                        printf("%s: unsupported algorithm %x\n", __func__,
                               priv->active_banks[i]);
This page took 0.03546 seconds and 4 git commands to generate.