measure: print a helpful message if TPM2 PCR sysfs attributes are missing

Prompted by:

https://github.com/systemd/systemd/pull/24351#pullrequestreview-1100418585
This commit is contained in:
Lennart Poettering
2022-09-08 12:57:23 +02:00
parent b3fe33ff52
commit d56f77e17f

View File

@@ -279,6 +279,8 @@ static int measure_pcr(PcrState *pcr_states, size_t n) {
return log_oom();
r = read_virtual_file(p, 4096, &s, NULL);
if (r == -ENOENT && access("/sys/class/tpm/tpm0/", F_OK) >= 0)
return log_error_errno(r, "TPM device exists, but cannot open '%s'; either the kernel is too old, or selected PCR bank is not supported: %m", p);
if (r < 0)
return log_error_errno(r, "Failed to read '%s': %m", p);