Skip to content

Commit 261de1c

Browse files
poetteringbluca
authored andcommitted
pcrlock: tweak error messages when we are not looking at a TPM2 event log
If we are looking at a TPM1.2 event log the first log record will not be the "EfiSpecIdEvent" but something else. Let's improve the log messages about this, and say explicitly that this is likely not a TPM2.0 event log. (cherry picked from commit 5005522)
1 parent b2046c3 commit 261de1c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/pcrlock/pcrlock-firmware.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ int validate_firmware_header(
100100
if (size < (uint64_t) offsetof(TCG_PCClientPCREvent, event) + (uint64_t) h->eventDataSize)
101101
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log too short for TCG_PCClientPCREvent events data.");
102102

103-
if (h->pcrIndex != 0)
104-
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log header has unexpected PCR index %" PRIu32, h->pcrIndex);
105103
if (h->eventType != EV_NO_ACTION)
106-
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log header has unexpected event type 0x%" PRIx32, h->eventType);
104+
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log header has unexpected event type 0x%08" PRIx32 ". (Probably not a TPM2 event log?)", h->eventType);
105+
if (h->pcrIndex != 0)
106+
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log header has unexpected PCR index %" PRIu32 ". (Probably not a TPM2 event log?)", h->pcrIndex);
107107
if (!memeqzero(h->digest, sizeof(h->digest)))
108-
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log header has unexpected non-zero digest.");
108+
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log header has unexpected non-zero digest. (Probably not a TPM2 event log?)");
109109

110110
if (h->eventDataSize < offsetof(TCG_EfiSpecIDEvent, digestSizes))
111111
return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Event log header too short for TCG_EfiSpecIdEvent.");

0 commit comments

Comments
 (0)