Attention is currently required from: Christian Walter, Felix Held, Fred Reitberger, Jason Glenesk, Krystian Hebel, Matt DeVillier, Raul Rangel, Sergii Dmytruk, Yu-Ping Wu.
1 comment:
File src/security/tpm/tss/tss.c:
Patch Set #30, Line 17: tpm_result_t tlcl_lib_init(void)
This function could potentially be called multiple times (by tlcl_get_family) and cause to probe all TPM drivers.
I would add a static variable to ensure the TPM will be probed once per stage, e.g.:
```
tis_sendrecv_fn tlcl_tis_sendrecv;
+static int init_done = 0;
+
/* Probe for TPM device and choose implementation based on the returned TPM family. */
tpm_result_t tlcl_lib_init(void)
{
tis_probe_fn *tis_probe;
+ if (init_done)
+ return tlcl_tpm_family == TPM_UNKNOWN ? TPM_CB_NO_DEVICE : TPM_SUCCESS;
+
if (tlcl_tpm_family != TPM_UNKNOWN)
return TPM_SUCCESS;
@@ -28,8 +33,11 @@ tpm_result_t tlcl_lib_init(void)
break;
}
+ init_done = 1;
+
if (tlcl_tis_sendrecv == NULL) {
printk(BIOS_ERR, "%s: tis_probe failed\n", __func__);
+ tlcl_tpm_family = TPM_UNKNOWN;
return TPM_CB_NO_DEVICE;
}
```
To view, visit change 69160. To unsubscribe, or for help writing mail filters, visit settings.