[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161123104757.GE24624@leverpostej>
Date: Wed, 23 Nov 2016 10:47:58 +0000
From: Mark Rutland <mark.rutland@....com>
To: David Howells <dhowells@...hat.com>
Cc: lukas@...ner.de, linux-efi@...r.kernel.org,
linux-security-module@...r.kernel.org, keyrings@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/6] efi: Get the secure boot status [ver #2]
On Wed, Nov 23, 2016 at 12:22:57AM +0000, David Howells wrote:
> @@ -1158,6 +1158,8 @@ struct boot_params *efi_main(struct efi_config *c,
> else
> setup_boot_services32(efi_early);
>
> + boot_params->secure_boot = (efi_get_secureboot(sys_table) == 1);
In the arm stub's efi_entry(), we fail-safe, and assume secure boot for any
non-zero status (including errors). e.g.
secure_boot = efi_get_secureboot(sys_table);
if (secure_boot > 0)
pr_efi(sys_table, "UEFI Secure Boot is enabled.\n");
if (secure_boot < 0) {
pr_efi_err(sys_table,
"could not determine UEFI Secure Boot status.\n");
}
/*
* Unauthenticated device tree data is a security hazard, so
* ignore 'dtb=' unless UEFI Secure Boot is disabled.
*/
if (secure_boot != 0 && strstr(cmdline_ptr, "dtb=")) {
pr_efi(sys_table, "Ignoring DTB from command line.\n");
... should we not do likewise here, e.g.
int secure_boot = efi_get_secureboot(sys_table);
if (secure_boot > 0)
pr_efi(sys_table, "UEFI Secure Boot is enabled.\n");
if (secure_boot < 0)
pr_efi_err(sys_table,
"could not determine UEFI Secure Boot status.\n");
/*
* Fail-safe in the case of an error determining the secure boot
* status.
*/
boot_params->secure_boot = (secure_boot != 0);
... ?
Thanks,
Mark.
Powered by blists - more mailing lists