diff options
Diffstat (limited to 'libstb')
-rw-r--r-- | libstb/status_codes.h | 1 | ||||
-rw-r--r-- | libstb/tpm_chip.c | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/libstb/status_codes.h b/libstb/status_codes.h index e67c17b..4896132 100644 --- a/libstb/status_codes.h +++ b/libstb/status_codes.h @@ -31,6 +31,7 @@ #define STB_MEASURE_FAILED -200 /* TPM */ +#define STB_NO_TPM_INITIALIZED 300 #define STB_TPM_OVERFLOW -300 #define STB_TPM_TIMEOUT -301 diff --git a/libstb/tpm_chip.c b/libstb/tpm_chip.c index d387ea0..6791f4c 100644 --- a/libstb/tpm_chip.c +++ b/libstb/tpm_chip.c @@ -187,12 +187,12 @@ void tpm_init(void) if (list_empty(&tpm_list)) /** - * @fwts-label TPMNotInitialized + * @fwts-label NoTPMRegistered * @fwts-advice No TPM chip has been initialized. We may not * have a compatible tpm driver or there is no tpm node in the * device tree with the expected bindings. */ - prlog(PR_ERR, "TPM: no tpm chip has been initialized\n"); + prlog(PR_ERR, "TPM: no tpm chip registered\n"); } @@ -233,6 +233,12 @@ int tpm_extendl(TPM_Pcr pcr, measured = 0; failed = 0; + if (list_empty(&tpm_list)) { + prlog(PR_NOTICE, "TPM: %s (pcr%d) not measured. No TPM " + "registered/enabled\n", event_msg, pcr); + return STB_NO_TPM_INITIALIZED; + } + list_for_each(&tpm_list, tpm, link) { if (!tpm->enabled) continue; |