Re: [PATCH v6 5/7] tpm: retrieve digest size of unknown algorithms with PCR read

From: Roberto Sassu
Date: Thu Dec 06 2018 - 13:00:25 EST


On 12/5/2018 12:53 AM, Jarkko Sakkinen wrote:
On Tue, Dec 04, 2018 at 09:21:36AM +0100, Roberto Sassu wrote:
+ for (i = 0; i < ARRAY_SIZE(tpm2_hash_map); i++) {
+ enum hash_algo crypto_algo = tpm2_hash_map[i].crypto_id;
+
+ if (bank->alg_id != tpm2_hash_map[i].tpm_id)
+ continue;
+
+ bank->digest_size = hash_digest_size[crypto_algo];
+ bank->crypto_id = crypto_algo;
+ return 0;
+ }
+
+ return tpm2_pcr_read(chip, 0, &digest, &bank->digest_size);
+}

This is a part that I don't get. Coud you just always call
tpm2_pcr_read() instead of this complexity

First, we avoid operations that may increase the boot time. Second, the
loop is necessary to obtain the crypto subsystem identifier from a TPM
algorithm identifier.

Roberto


/Jarkko


--
HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063
Managing Director: Bo PENG, Jian LI, Yanli SHI