aboutsummaryrefslogtreecommitdiff
path: root/libstb
diff options
context:
space:
mode:
Diffstat (limited to 'libstb')
-rw-r--r--libstb/status_codes.h1
-rw-r--r--libstb/tpm_chip.c10
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;