Thread (25 messages) 25 messages, 5 authors, 2022-02-23

Re: [PATCH] efi: Do not import certificates from UEFI Secure Boot for T2 Macs

flat view

From: Matthew Garrett <mjg59@srcf.ucam.org>
Date: 2022-02-09 18:37:50
Also in: keyrings, linux-efi, linux-integrity, lkml, stable

On Wed, Feb 09, 2022 at 06:02:34PM +0000, Aditya Garg wrote:
quoted
On 09-Feb-2022, at 10:19 PM, Matthew Garrett [off-list ref] wrote:

On Wed, Feb 09, 2022 at 02:27:51PM +0000, Aditya Garg wrote:
quoted
From: Aditya Garg <redacted>

On T2 Macs, the secure boot is handled by the T2 Chip. If enabled, only
macOS and Windows are allowed to boot on these machines. Thus we need to
disable secure boot for Linux. If we boot into Linux after disabling
secure boot, if CONFIG_LOAD_UEFI_KEYS is enabled, EFI Runtime services
fail to start, with the following logs in dmesg
Which specific variable request is triggering the failure? Do any 
runtime variable accesses work on these machines?
Commit f5390cd0b43c2e54c7cf5506c7da4a37c5cef746 in Linus’ tree was also added to force EFI v1.1 on these machines, since v2.4, reported by them was causing kernel panics.

So, EFI 1.1 without import certificates seems to work and have been able to modify the variables, thus the remaining EFI variable accesses seem to work.
The LOAD_UEFI_KEYS code isn't doing anything special here - it's just 
trying to read some variables. If we simply disable that then the 
expectation would be that reading the same variables from userland would 
trigger the same failure. So the question is which of the variables that 
LOAD_UEFI_KEYS accesses is triggering the failure, and what's special 
about that? If it's a specific variable GUID or name that's failing, we 
should block that on Apple hardware in order to avoid issues caused by 
userland performing equivalent accesses.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help