efi_loader: simplify tcg2_create_digest()

Message ID 20210422113214.42079-1-ilias.apalodimas@linaro.org
State Accepted
Commit 6fe8b4a39d0ddb6cf6de35ab3e1b522ec0824575
Headers show
Series
  • efi_loader: simplify tcg2_create_digest()
Related show

Commit Message

Ilias Apalodimas April 22, 2021, 11:32 a.m.
Bumping the digest list count, for all supported algorithms,  can be
calculated outside of the individual switch statements.  So let's do that
for every loop iteration instead and simplify the code a bit.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>

---
 lib/efi_loader/efi_tcg2.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

-- 
2.31.0

Comments

Heinrich Schuchardt April 22, 2021, noon | #1
On 22.04.21 13:32, Ilias Apalodimas wrote:
> Bumping the digest list count, for all supported algorithms,  can be

> calculated outside of the individual switch statements.  So let's do that

> for every loop iteration instead and simplify the code a bit.

>

> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>


Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>


> ---

>  lib/efi_loader/efi_tcg2.c | 5 +----

>  1 file changed, 1 insertion(+), 4 deletions(-)

>

> diff --git a/lib/efi_loader/efi_tcg2.c b/lib/efi_loader/efi_tcg2.c

> index d5eca68769b0..94e8f22bbb69 100644

> --- a/lib/efi_loader/efi_tcg2.c

> +++ b/lib/efi_loader/efi_tcg2.c

> @@ -535,30 +535,27 @@ static efi_status_t tcg2_create_digest(const u8 *input, u32 length,

>  			sha1_starts(&ctx);

>  			sha1_update(&ctx, input, length);

>  			sha1_finish(&ctx, final);

> -			digest_list->count++;

>  			break;

>  		case TPM2_ALG_SHA256:

>  			sha256_starts(&ctx_256);

>  			sha256_update(&ctx_256, input, length);

>  			sha256_finish(&ctx_256, final);

> -			digest_list->count++;

>  			break;

>  		case TPM2_ALG_SHA384:

>  			sha384_starts(&ctx_512);

>  			sha384_update(&ctx_512, input, length);

>  			sha384_finish(&ctx_512, final);

> -			digest_list->count++;

>  			break;

>  		case TPM2_ALG_SHA512:

>  			sha512_starts(&ctx_512);

>  			sha512_update(&ctx_512, input, length);

>  			sha512_finish(&ctx_512, final);

> -			digest_list->count++;

>  			break;

>  		default:

>  			EFI_PRINT("Unsupported algorithm %x\n", hash_alg);

>  			return EFI_INVALID_PARAMETER;

>  		}

> +		digest_list->count++;

>  		digest_list->digests[i].hash_alg = hash_alg;

>  		memcpy(&digest_list->digests[i].digest, final, (u32)alg_to_len(hash_alg));

>  	}

>

Patch

diff --git a/lib/efi_loader/efi_tcg2.c b/lib/efi_loader/efi_tcg2.c
index d5eca68769b0..94e8f22bbb69 100644
--- a/lib/efi_loader/efi_tcg2.c
+++ b/lib/efi_loader/efi_tcg2.c
@@ -535,30 +535,27 @@  static efi_status_t tcg2_create_digest(const u8 *input, u32 length,
 			sha1_starts(&ctx);
 			sha1_update(&ctx, input, length);
 			sha1_finish(&ctx, final);
-			digest_list->count++;
 			break;
 		case TPM2_ALG_SHA256:
 			sha256_starts(&ctx_256);
 			sha256_update(&ctx_256, input, length);
 			sha256_finish(&ctx_256, final);
-			digest_list->count++;
 			break;
 		case TPM2_ALG_SHA384:
 			sha384_starts(&ctx_512);
 			sha384_update(&ctx_512, input, length);
 			sha384_finish(&ctx_512, final);
-			digest_list->count++;
 			break;
 		case TPM2_ALG_SHA512:
 			sha512_starts(&ctx_512);
 			sha512_update(&ctx_512, input, length);
 			sha512_finish(&ctx_512, final);
-			digest_list->count++;
 			break;
 		default:
 			EFI_PRINT("Unsupported algorithm %x\n", hash_alg);
 			return EFI_INVALID_PARAMETER;
 		}
+		digest_list->count++;
 		digest_list->digests[i].hash_alg = hash_alg;
 		memcpy(&digest_list->digests[i].digest, final, (u32)alg_to_len(hash_alg));
 	}