4cf8c08cf7
Since GRUB 2.04 there is support for TPM measurements in a tpm module that uses the verifiers framework. So this is used now instead of the previous downstream patches that we were carrying. But we forgot to enable this module when rebasing to 2.04 which leads to GRUB no longer measuring the kernel, initrd and command line parameters. One side effect of using the verifiers framework is that if measurements fail, GRUB won't be able to open the files since the errors from the tpm module are propagated. This means that a firmware with a buggy tpm support will prevent the machine to boot, which was not the case with the previous downstream patches. Don't propagate the measurement errors to prevent this. Resolves: rhbz#1836433 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Adam Williamson <awilliam@redhat.com>
|
|
Date: Thu, 14 May 2020 17:52:53 -0700
|
|
Subject: [PATCH] 10_linux.in: restore existence check in `get_sorted_bls`
|
|
|
|
This is necessary to handle `/boot/loader/entries` not existing
|
|
at all (or possibly existing but being empty - not sure about
|
|
that case). Without this check, this function gets pretty wacky
|
|
and winds up returning the contents of the current working
|
|
directory, which of course causes whatever called it to break.
|
|
|
|
Resolves: rhbz#1836020
|
|
|
|
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
|
---
|
|
util/grub.d/10_linux.in | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
|
index 80299ecaf00..519e2d9e616 100644
|
|
--- a/util/grub.d/10_linux.in
|
|
+++ b/util/grub.d/10_linux.in
|
|
@@ -141,6 +141,9 @@ get_sorted_bls()
|
|
local IFS=$'\n'
|
|
|
|
files=($(for bls in ${blsdir}/*.conf; do
|
|
+ if ! [[ -e "${bls}" ]] ; then
|
|
+ continue
|
|
+ fi
|
|
bls="${bls%.conf}"
|
|
bls="${bls##*/}"
|
|
echo "${bls}"
|