From 8dc886ce314282de9d65fac1e8c68ee40d30f678 Mon Sep 17 00:00:00 2001 From: Ilias Apalodimas Date: Tue, 24 Dec 2024 08:01:08 -0800 Subject: tpm: Don't create an EventLog if algorithms are misconfigured We already check the active banks vs what U-Boot was compiled with when trying to extend a PCR and we refuse to do so if the TPM active ones don't match the ones U-Boot supports. Do the same thing for the EventLog creation since extending will fail anyway and print a message so the user can figure out the missing algorithms. Co-developed-by: Raymond Mao Signed-off-by: Raymond Mao Signed-off-by: Ilias Apalodimas --- lib/tpm-v2.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lib/tpm-v2.c') diff --git a/lib/tpm-v2.c b/lib/tpm-v2.c index 96c164f2a54..bac6fd9101b 100644 --- a/lib/tpm-v2.c +++ b/lib/tpm-v2.c @@ -926,3 +926,26 @@ bool tpm2_check_active_banks(struct udevice *dev) return true; } + +void tpm2_print_active_banks(struct udevice *dev) +{ + struct tpml_pcr_selection pcrs; + size_t i; + int rc; + + rc = tpm2_get_pcr_info(dev, &pcrs); + if (rc) { + log_err("Can't retrieve active PCRs\n"); + return; + } + + for (i = 0; i < pcrs.count; i++) { + if (tpm2_is_active_bank(&pcrs.selection[i])) { + const char *str; + + str = tpm2_algorithm_name(pcrs.selection[i].hash); + if (str) + log_info("%s\n", str); + } + } +} -- cgit v1.2.3