All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Matt Fleming <matt@codeblueprint.co.uk>
Cc: linux-efi@vger.kernel.org, ard.biesheuvel@linaro.org,
	linux-kernel@vger.kernel.org, dhowells@redhat.com,
	linux-security-module@vger.kernel.org, keyrings@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 5/8] efi: Get the secure boot status [ver #6]
Date: Wed, 11 Jan 2017 15:27:23 +0000	[thread overview]
Message-ID: <7948.1484148443@warthog.procyon.org.uk> (raw)
In-Reply-To: <20170111143304.GA29649@codeblueprint.co.uk>

Matt Fleming <matt@codeblueprint.co.uk> wrote:

> > +	movb	$0, BP_secure_boot(%rsi)
> >  #ifdef CONFIG_EFI_STUB
> >  	/*
> >  	 * The entry point for the PE/COFF executable is efi_pe_entry, so
> 
> Is clearing ::secure_boot really necessary? Any code path that goes
> via efi_main() will set it correctly and all other code paths should
> get it cleared in sanitize_boot_params(), no?

No.

The boot_params->secure_boot parameter exists whether or not efi_main() is
traversed (ie. if EFI isn't enabled or CONFIG_EFI_STUB=n) and, if not cleared,
is of uncertain value.

Further, sanitize_boot_params() has to be modified by this patch so as not to
clobber the secure_boot flag.

> What's the distinction between the unset and unknown enums?

unset -> The flag was cleared by head.S and efi_get_secureboot() was never
called.

unknown -> efi_get_secureboot() tried and failed to access the EFI variables
that should give the state.

David

WARNING: multiple messages have this Message-ID (diff)
From: dhowells@redhat.com (David Howells)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/8] efi: Get the secure boot status [ver #6]
Date: Wed, 11 Jan 2017 15:27:23 +0000	[thread overview]
Message-ID: <7948.1484148443@warthog.procyon.org.uk> (raw)
In-Reply-To: <20170111143304.GA29649@codeblueprint.co.uk>

Matt Fleming <matt@codeblueprint.co.uk> wrote:

> > +	movb	$0, BP_secure_boot(%rsi)
> >  #ifdef CONFIG_EFI_STUB
> >  	/*
> >  	 * The entry point for the PE/COFF executable is efi_pe_entry, so
> 
> Is clearing ::secure_boot really necessary? Any code path that goes
> via efi_main() will set it correctly and all other code paths should
> get it cleared in sanitize_boot_params(), no?

No.

The boot_params->secure_boot parameter exists whether or not efi_main() is
traversed (ie. if EFI isn't enabled or CONFIG_EFI_STUB=n) and, if not cleared,
is of uncertain value.

Further, sanitize_boot_params() has to be modified by this patch so as not to
clobber the secure_boot flag.

> What's the distinction between the unset and unknown enums?

unset -> The flag was cleared by head.S and efi_get_secureboot() was never
called.

unknown -> efi_get_secureboot() tried and failed to access the EFI variables
that should give the state.

David

WARNING: multiple messages have this Message-ID (diff)
From: David Howells <dhowells@redhat.com>
To: Matt Fleming <matt@codeblueprint.co.uk>
Cc: dhowells@redhat.com, ard.biesheuvel@linaro.org,
	linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org, keyrings@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 5/8] efi: Get the secure boot status [ver #6]
Date: Wed, 11 Jan 2017 15:27:23 +0000	[thread overview]
Message-ID: <7948.1484148443@warthog.procyon.org.uk> (raw)
In-Reply-To: <20170111143304.GA29649@codeblueprint.co.uk>

Matt Fleming <matt@codeblueprint.co.uk> wrote:

> > +	movb	$0, BP_secure_boot(%rsi)
> >  #ifdef CONFIG_EFI_STUB
> >  	/*
> >  	 * The entry point for the PE/COFF executable is efi_pe_entry, so
> 
> Is clearing ::secure_boot really necessary? Any code path that goes
> via efi_main() will set it correctly and all other code paths should
> get it cleared in sanitize_boot_params(), no?

No.

The boot_params->secure_boot parameter exists whether or not efi_main() is
traversed (ie. if EFI isn't enabled or CONFIG_EFI_STUB=n) and, if not cleared,
is of uncertain value.

Further, sanitize_boot_params() has to be modified by this patch so as not to
clobber the secure_boot flag.

> What's the distinction between the unset and unknown enums?

unset -> The flag was cleared by head.S and efi_get_secureboot() was never
called.

unknown -> efi_get_secureboot() tried and failed to access the EFI variables
that should give the state.

David

  reply	other threads:[~2017-01-11 15:27 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-08 12:30 [PATCH 0/8] efi: Pass secure boot mode to kernel [ver #6] David Howells
2016-12-08 12:30 ` David Howells
2016-12-08 12:30 ` David Howells
2016-12-08 12:30 ` [PATCH 1/8] efi: use typed function pointers for runtime services table " David Howells
2016-12-08 12:30   ` David Howells
2016-12-08 12:30 ` [PATCH 2/8] x86/efi: Allow invocation of arbitrary runtime services " David Howells
2016-12-08 12:30   ` David Howells
2016-12-08 12:30 ` [PATCH 3/8] arm/efi: " David Howells
2016-12-08 12:30   ` David Howells
2016-12-08 12:30 ` [PATCH 4/8] efi: Add SHIM and image security database GUID definitions " David Howells
2016-12-08 12:30   ` David Howells
2016-12-08 12:30 ` [PATCH 5/8] efi: Get the secure boot status " David Howells
2016-12-08 12:30   ` David Howells
     [not found]   ` <148120024570.5854.10638278395097394138.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2017-01-11 14:33     ` Matt Fleming
2017-01-11 14:33       ` Matt Fleming
2017-01-11 14:33       ` Matt Fleming
2017-01-11 15:27       ` David Howells [this message]
2017-01-11 15:27         ` David Howells
2017-01-11 15:27         ` David Howells
     [not found]         ` <7948.1484148443-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2017-01-16 14:49           ` Matt Fleming
2017-01-16 14:49             ` Matt Fleming
2017-01-16 14:49             ` Matt Fleming
     [not found]         ` <20170116144954.GB27351-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2017-01-16 15:39           ` David Howells
2017-01-16 15:39             ` David Howells
2017-01-16 15:39             ` David Howells
     [not found]         ` <794.1484581158-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2017-01-23 10:52           ` David Howells
2017-01-23 10:52             ` David Howells
2017-01-23 10:52             ` David Howells
2017-01-23 21:26           ` Matt Fleming
2017-01-23 21:26             ` Matt Fleming
2017-01-23 21:26             ` Matt Fleming
2017-01-23 22:11             ` David Howells
2017-01-23 22:11               ` David Howells
2017-01-27 14:01               ` Matt Fleming
2017-01-27 14:01                 ` Matt Fleming
2017-01-31 14:02                 ` David Howells
2017-01-31 14:02                   ` David Howells
2017-01-31 14:02                   ` David Howells
2017-01-30 12:10               ` What should the default lockdown mode be if the bootloader sentinel triggers sanitization? David Howells
2017-01-30 12:10                 ` David Howells
2017-01-30 13:50                 ` Matt Fleming
2017-01-30 13:50                   ` Matt Fleming
2017-01-30 13:50                   ` Matt Fleming
2017-01-30 14:01                   ` David Howells
2017-01-30 14:01                     ` David Howells
2017-01-30 14:01                     ` David Howells
2017-01-31 11:57                     ` Matt Fleming
2017-01-31 11:57                       ` Matt Fleming
2017-01-31 11:57                       ` Matt Fleming
     [not found] ` <148120020832.5854.5448601415491330495.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2016-12-08 12:30   ` [PATCH 6/8] efi: Disable secure boot if shim is in insecure mode [ver #6] David Howells
2016-12-08 12:30     ` David Howells
2016-12-08 12:30     ` David Howells
2016-12-08 12:31 ` [PATCH 7/8] efi: Handle secure boot from UEFI-2.6 " David Howells
2016-12-08 12:31   ` David Howells
2016-12-08 12:31 ` [PATCH 8/8] efi: Add EFI_SECURE_BOOT bit " David Howells
2016-12-08 12:31   ` David Howells
2017-01-11 14:51   ` Matt Fleming
2017-01-11 14:51     ` Matt Fleming
2017-01-11 15:29     ` David Howells
2017-01-11 15:29       ` David Howells
2017-01-11 15:29       ` David Howells
2017-01-16 13:40       ` Matt Fleming
2017-01-16 13:40         ` Matt Fleming
     [not found]       ` <20170116134041.GA27351-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2017-01-16 15:40         ` David Howells
2017-01-16 15:40           ` David Howells
2017-01-16 15:40           ` David Howells
2017-01-11 15:01 ` [PATCH 0/8] efi: Pass secure boot mode to kernel " Matt Fleming
2017-01-11 15:01   ` Matt Fleming
2017-01-11 15:05   ` Ard Biesheuvel
2017-01-11 15:05     ` Ard Biesheuvel
2017-01-11 15:05     ` Ard Biesheuvel
2017-01-24 17:15     ` Ard Biesheuvel
2017-01-24 17:15       ` Ard Biesheuvel
2017-01-27 18:03       ` Ard Biesheuvel
2017-01-27 18:03         ` Ard Biesheuvel
2017-01-27 18:03         ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7948.1484148443@warthog.procyon.org.uk \
    --to=dhowells@redhat.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=matt@codeblueprint.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.