public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: "# 3.4.x" <stable@vger.kernel.org>,
	linux-efi <linux-efi@vger.kernel.org>,
	jan.setjeeilers@oracle.com, Peter Jones <pjones@redhat.com>,
	Steve McIntyre <steve@einval.com>,
	Julian Andres Klode <julian.klode@canonical.com>,
	Luca Boccassi <bluca@debian.org>,
	James Bottomley <jejb@linux.ibm.com>
Subject: Re: x86 efistub stable backports for v6.6
Date: Thu, 15 Feb 2024 12:12:03 +0100	[thread overview]
Message-ID: <2024021545-coconut-stylishly-26ed@gregkh> (raw)
In-Reply-To: <CAMj1kXHVMDq670JhAwsYeGjYVVfgCxFC7YUChUF1GSerCUB1ow@mail.gmail.com>

On Thu, Feb 15, 2024 at 10:41:57AM +0100, Ard Biesheuvel wrote:
> On Thu, 15 Feb 2024 at 10:27, Greg KH <gregkh@linuxfoundation.org> wrote:
> >
> > On Thu, Feb 15, 2024 at 10:17:20AM +0100, Ard Biesheuvel wrote:
> > > (cc stakeholders from various distros - apologies if I missed anyone)
> > >
> > > Please consider the patches below for backporting to the linux-6.6.y
> > > stable tree.
> > >
> > > These are prerequisites for building a signed x86 efistub kernel image
> > > that complies with the tightened UEFI boot requirements imposed by
> > > MicroSoft, and this is the condition under which it is willing to sign
> > > future Linux secure boot shim builds with its 3rd party CA
> > > certificate. (Such builds must enforce a strict separation between
> > > executable and writable code, among other things)
> > >
> > > The patches apply cleanly onto 6.6.17 (-rc2), resulting in a defconfig
> > > build that boots as expected under OVMF/KVM.
> > >
> > > 5f51c5d0e905 x86/efi: Drop EFI stub .bss from .data section
> > > 7e50262229fa x86/efi: Disregard setup header of loaded image
> > > bfab35f552ab x86/efi: Drop alignment flags from PE section headers
> > > 768171d7ebbc x86/boot: Remove the 'bugger off' message
> > > 8eace5b35556 x86/boot: Omit compression buffer from PE/COFF image
> > > memory footprint
> > > 7448e8e5d15a x86/boot: Drop redundant code setting the root device
> > > b618d31f112b x86/boot: Drop references to startup_64
> > > 2e765c02dcbf x86/boot: Grab kernel_info offset from zoffset header directly
> > > eac956345f99 x86/boot: Set EFI handover offset directly in header asm
> > > 093ab258e3fb x86/boot: Define setup size in linker script
> > > aeb92067f6ae x86/boot: Derive file size from _edata symbol
> > > efa089e63b56 x86/boot: Construct PE/COFF .text section from assembler
> > > fa5750521e0a x86/boot: Drop PE/COFF .reloc section
> > > 34951f3c28bd x86/boot: Split off PE/COFF .data section
> > > 3e3eabe26dc8 x86/boot: Increase section and file alignment to 4k/512
> > >
> > > 1ad55cecf22f x86/efistub: Use 1:1 file:memory mapping for PE/COFF
> > > .compat section
> >
> > Is the list here the order in which they should be applied in?
> >
> 
> Yes. These are all from v6.7 except the last one, but that has been
> queued for v6.7 already.
> 
> > And is this not an issue for 6.1.y as well?
> >
> 
> It is, but there are many more changes that would need to go into v6.1:
> 
>  Documentation/x86/boot.rst                     |   2 +-
>  arch/x86/Kconfig                               |  17 +
>  arch/x86/boot/Makefile                         |   2 +-
>  arch/x86/boot/compressed/Makefile              |  13 +-
>  arch/x86/boot/compressed/efi_mixed.S           | 328 ++++++++++++++
>  arch/x86/boot/compressed/efi_thunk_64.S        | 195 --------
>  arch/x86/boot/compressed/head_32.S             |  38 +-
>  arch/x86/boot/compressed/head_64.S             | 593 +++++--------------------
>  arch/x86/boot/compressed/mem_encrypt.S         | 152 ++++++-
>  arch/x86/boot/compressed/misc.c                |  61 ++-
>  arch/x86/boot/compressed/misc.h                |   2 -
>  arch/x86/boot/compressed/pgtable.h             |  10 +-
>  arch/x86/boot/compressed/pgtable_64.c          |  87 ++--
>  arch/x86/boot/compressed/sev.c                 | 112 +++--
>  arch/x86/boot/compressed/vmlinux.lds.S         |   6 +-
>  arch/x86/boot/header.S                         | 215 ++++-----
>  arch/x86/boot/setup.ld                         |  14 +-
>  arch/x86/boot/tools/build.c                    | 271 +----------
>  arch/x86/include/asm/boot.h                    |   8 +
>  arch/x86/include/asm/efi.h                     |  14 +-
>  arch/x86/include/asm/sev.h                     |   7 +
>  drivers/firmware/efi/libstub/Makefile          |   8 +-
>  drivers/firmware/efi/libstub/alignedmem.c      |   5 +-
>  drivers/firmware/efi/libstub/arm64-stub.c      |   6 +-
>  drivers/firmware/efi/libstub/efi-stub-helper.c |   2 +
>  drivers/firmware/efi/libstub/efistub.h         |  28 +-
>  drivers/firmware/efi/libstub/mem.c             |   3 +-
>  drivers/firmware/efi/libstub/randomalloc.c     |  13 +-
>  drivers/firmware/efi/libstub/x86-5lvl.c        |  95 ++++
>  drivers/firmware/efi/libstub/x86-stub.c        | 327 +++++++-------
>  drivers/firmware/efi/libstub/x86-stub.h        |  17 +
>  include/linux/efi.h                            |   1 +
>  32 files changed, 1204 insertions(+), 1448 deletions(-)
> 
> (Note: the commit hashes below are bogus, they are from my tree [0])
> 
> If you're happy to take these too, I can give you the proper list, but
> perhaps we should deal with v6.6 first?

Yeah, let's deal with 6.6 first :)

What distros are going to need/want this for 6.1.y?  Will normal users
care as this is only for a new requirement by Microsoft, not for older
releases, right?

thanks,

greg k-h

  reply	other threads:[~2024-02-15 11:12 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-15  9:17 x86 efistub stable backports for v6.6 Ard Biesheuvel
2024-02-15  9:27 ` Greg KH
2024-02-15  9:41   ` Ard Biesheuvel
2024-02-15 11:12     ` Greg KH [this message]
2024-02-15 11:29       ` Ard Biesheuvel
2024-02-20  1:03         ` xnox
2024-02-20  8:36           ` Ard Biesheuvel
2024-02-20  9:41             ` Dimitri John Ledkov
2024-02-20 15:19 ` Greg KH

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=2024021545-coconut-stylishly-26ed@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=ardb@kernel.org \
    --cc=bluca@debian.org \
    --cc=jan.setjeeilers@oracle.com \
    --cc=jejb@linux.ibm.com \
    --cc=julian.klode@canonical.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=pjones@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=steve@einval.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox