Re: [PATCH v2] x86/efi: Add additional efi tables for unencrypted mapping checks

From: Ard Biesheuvel
Date: Tue Feb 25 2020 - 13:12:38 EST


On Tue, 25 Feb 2020 at 19:10, Tom Lendacky <thomas.lendacky@xxxxxxx> wrote:
>
> On 2/25/20 11:58 AM, Ard Biesheuvel wrote:
> > On Tue, 25 Feb 2020 at 18:54, Tom Lendacky <thomas.lendacky@xxxxxxx> wrote:
> >>
> >> On 2/25/20 11:45 AM, Ard Biesheuvel wrote:
> >>> On Tue, 25 Feb 2020 at 18:41, Tom Lendacky <thomas.lendacky@xxxxxxx> wrote:
> >>>>
> >>>> When booting with SME active, EFI tables must be mapped unencrypted since
> >>>> they were built by UEFI in unencrypted memory. Update the list of tables
> >>>> to be checked during early_memremap() processing to account for new EFI
> >>>> tables.
> >>>>
> >>>> This fixes a bug where an EFI TPM log table has been created by UEFI, but
> >>>> it lives in memory that has been marked as usable rather than reserved.
> >>>>
> >>>> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
> >>>>
> >>>> ---
> >>>> Changes since v1:
> >>>> - Re-spun against EFI tree
> >>>
> >>> Which one? Surely not the one in the link I included?
> >>
> >> I did a git clone of
> >>
> >> git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
> >>
> >> and checked out branch next. Not sure what I missed...
> >>
> >
> > Weird. Do you see commit 5d288dbd88606d8f215c7138b10649115d79cadd on
> > that branch? It removes rng_seed from struct efi, hence my request to
> > rebase your patch.
>
> I had just assumed you wanted a cleaner version and didn't realize that
> rng_seed was removed from struct efi. My bad for not building.
>
> >
> > IMO, best is to simply drop the 'static' from rng_seed, rename it to
> > efi_rng_seed, and drop an extern declaration in linux/efi.h so it is
> > accessible from your code. I'm reluctant to put it back in struct efi.
>
> Ok, I'll re-work the patch.
>

OK

Btw if you want the TPM part of the fix to go to -stable, better to
split them in two (and I'll put a cc:stable on the tpm one)