From 41fd55afdc80897b91f7145d77347d634042b2f5 Mon Sep 17 00:00:00 2001 From: Mathieu Trudel-Lapierre Date: Sat, 10 Jul 2021 22:32:00 +0100 Subject: tpm: Pass unknown error as non-fatal, but debug print the error we got Signed-off-by: Mathieu Trudel-Lapierre Bug-Debian: https://bugs.debian.org/940911 Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1848892 Patch-Name: tpm-unknown-error-non-fatal.patch --- grub-core/commands/efi/tpm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/grub-core/commands/efi/tpm.c b/grub-core/commands/efi/tpm.c index 32909c192..2defddbea 100644 --- a/grub-core/commands/efi/tpm.c +++ b/grub-core/commands/efi/tpm.c @@ -155,7 +155,8 @@ grub_tpm1_execute (grub_efi_handle_t tpm_handle, case GRUB_EFI_NOT_FOUND: return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("TPM unavailable")); default: - return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("Unknown TPM error")); + grub_dprintf ("tpm", "Unknown TPM error: %" PRIdGRUB_SSIZE, status); + return 0; } } @@ -195,7 +196,8 @@ grub_tpm2_execute (grub_efi_handle_t tpm_handle, case GRUB_EFI_NOT_FOUND: return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("TPM unavailable")); default: - return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("Unknown TPM error")); + grub_dprintf ("tpm", "Unknown TPM error: %" PRIdGRUB_SSIZE, status); + return 0; } } @@ -262,7 +264,8 @@ grub_tpm1_log_event (grub_efi_handle_t tpm_handle, unsigned char *buf, case GRUB_EFI_NOT_FOUND: return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("TPM unavailable")); default: - return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("Unknown TPM error")); + grub_dprintf ("tpm", "Unknown TPM error: %" PRIdGRUB_SSIZE, status); + return 0; } } @@ -312,7 +315,8 @@ grub_tpm2_log_event (grub_efi_handle_t tpm_handle, unsigned char *buf, case GRUB_EFI_NOT_FOUND: return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("TPM unavailable")); default: - return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("Unknown TPM error")); + grub_dprintf ("tpm", "Unknown TPM error: %" PRIdGRUB_SSIZE, status); + return 0; } }