diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2023-01-24 22:45:25 +0100 |
---|---|---|
committer | Luca Boccassi <luca.boccassi@gmail.com> | 2023-01-25 00:07:21 +0100 |
commit | 2f6c52b919dcc4a52e597ada11af9267e3550029 (patch) | |
tree | 0fdfdbfa485ab2319704d96bf3d1fe6dce8cbd3b /src/boot/pcrphase.c | |
parent | Merge pull request #26184 from keszybz/cleanups (diff) | |
download | systemd-2f6c52b919dcc4a52e597ada11af9267e3550029.tar.xz systemd-2f6c52b919dcc4a52e597ada11af9267e3550029.zip |
shared/efi-loader: fix compilation with !ENABLE_EFI, improve messages
When compiled without ENABLE_EFI, efi_stub_measured() was not defined, so
compilation would fail. But it's not enough to add a stub that returns
-EOPNOTSUPP. We call this function in various places and usually print the error
at warning or error level, so we'd print a confusing message. We also can't add
a stub that always returns 0, because then we'd print a message like "Kernel
stub did not measure", which would be confusing too. Adding special handling for
-EOPNOTSUPP in every caller is also unattractive. So instead efi_stub_measured()
is reworked to log the warning or error internally, and such logging is removed
from the callers, and a stub is added that logs a custom message.
Diffstat (limited to 'src/boot/pcrphase.c')
-rw-r--r-- | src/boot/pcrphase.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/boot/pcrphase.c b/src/boot/pcrphase.c index 003e0b8ad8..2add7f1f89 100644 --- a/src/boot/pcrphase.c +++ b/src/boot/pcrphase.c @@ -334,9 +334,9 @@ static int run(int argc, char *argv[]) { length = strlen(word); /* Skip logic if sd-stub is not used, after all PCR 11 might have a very different purpose then. */ - r = efi_stub_measured(); + r = efi_stub_measured(LOG_ERR); if (r < 0) - return log_error_errno(r, "Failed to detect if we are running on a kernel image with TPM measurement enabled: %m"); + return r; if (r == 0) { log_info("Kernel stub did not measure kernel image into PCR %u, skipping userspace measurement, too.", TPM_PCR_INDEX_KERNEL_IMAGE); return EXIT_SUCCESS; |