From: Greg KH <greg@kroah.com>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: "# 3.4.x" <stable@vger.kernel.org>,
Dimitri John Ledkov <xnox@ubuntu.com>,
jan.setjeeilers@oracle.com
Subject: Re: EFI/x86 backports for v6.1
Date: Mon, 4 Mar 2024 11:35:40 +0100 [thread overview]
Message-ID: <2024030419-booted-dwelled-619b@gregkh> (raw)
In-Reply-To: <CAMj1kXE5y+6Fef1SqsePO1p8eGEL_qKR9ZkNPNKb-y6P8-7YmQ@mail.gmail.com>
On Sun, Feb 25, 2024 at 11:02:50AM +0100, Ard Biesheuvel wrote:
> Please consider the patches below for backporting to v6.1. They should
> all apply cleanly in the given order.
>
> These are prerequisites for NX compat support on x86, but the
> remaining changes do not apply cleanly and will be sent as a patch
> series at a later date.
> By themselves, these changes not only constitute a reasonable cleanup,
> they are also needed for future support of x86s [0] CPUs that are no
> longer able to transition out of long mode.
>
> Documentation/x86/boot.rst | 2 +-
> arch/x86/Kconfig | 17 +
> arch/x86/boot/compressed/Makefile | 8 +-
> arch/x86/boot/compressed/efi_mixed.S | 383 +++++++++++++++++++
> arch/x86/boot/compressed/efi_thunk_64.S | 195 ----------
> arch/x86/boot/compressed/head_32.S | 25 +-
> arch/x86/boot/compressed/head_64.S | 566 ++++++-----------------------
> arch/x86/boot/compressed/mem_encrypt.S | 152 +++++++-
> arch/x86/boot/compressed/misc.c | 34 +-
> 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/header.S | 2 +-
> arch/x86/boot/tools/build.c | 2 +
> drivers/firmware/efi/efi.c | 22 ++
> drivers/firmware/efi/libstub/alignedmem.c | 5 +-
> drivers/firmware/efi/libstub/arm64-stub.c | 6 +-
> drivers/firmware/efi/libstub/efistub.h | 6 +-
> drivers/firmware/efi/libstub/mem.c | 3 +-
> drivers/firmware/efi/libstub/randomalloc.c | 5 +-
> drivers/firmware/efi/libstub/x86-stub.c | 53 ++-
> drivers/firmware/efi/vars.c | 13 +-
> include/linux/decompress/mm.h | 2 +-
> 23 files changed, 805 insertions(+), 795 deletions(-)
>
> [0] https://www.intel.com/content/www/us/en/developer/articles/technical/envisioning-future-simplified-architecture.html
>
>
> 9cf42bca30e9 efi: libstub: use EFI_LOADER_CODE region when moving the
> kernel in memory
> cb8bda8ad443 x86/boot/compressed: Rename efi_thunk_64.S to efi-mixed.S
> e2ab9eab324c x86/boot/compressed: Move 32-bit entrypoint code into .text section
> 5c3a85f35b58 x86/boot/compressed: Move bootargs parsing out of 32-bit
> startup code
> 91592b5c0c2f x86/boot/compressed: Move efi32_pe_entry into .text section
> 73a6dec80e2a x86/boot/compressed: Move efi32_entry out of head_64.S
> 7f22ca396778 x86/boot/compressed: Move efi32_pe_entry() out of head_64.S
> 4b52016247ae x86/boot/compressed, efi: Merge multiple definitions of
> image_offset into one
> 630f337f0c4f x86/boot/compressed: Simplify IDT/GDT preserve/restore in
> the EFI thunk
> 6aac80a8da46 x86/boot/compressed: Avoid touching ECX in
> startup32_set_idt_entry()
> d73a257f7f86 x86/boot/compressed: Pull global variable reference into
> startup32_load_idt()
> c6355995ba47 x86/boot/compressed: Move startup32_load_idt() into .text section
> 9ea813be3d34 x86/boot/compressed: Move startup32_load_idt() out of head_64.S
> b5d854cd4b6a x86/boot/compressed: Move startup32_check_sev_cbit() into .text
> 9d7eaae6a071 x86/boot/compressed: Move startup32_check_sev_cbit() out
> of head_64.S
> 30c9ca16a527 x86/boot/compressed: Adhere to calling convention in
> get_sev_encryption_bit()
> 61de13df9590 x86/boot/compressed: Only build mem_encrypt.S if AMD_MEM_ENCRYPT=y
> bad267f9e18f efi: verify that variable services are supported
> 0217a40d7ba6 efi: efivars: prevent double registration
> cc3fdda2876e x86/efi: Make the deprecated EFI handover protocol optional
> 7734a0f31e99 x86/boot: Robustify calling startup_{32,64}() from the
> decompressor code
> d2d7a54f69b6 x86/efistub: Branch straight to kernel entry point from C code
> df9215f15206 x86/efistub: Simplify and clean up handover entry code
> 127920645876 x86/decompressor: Avoid magic offsets for EFI handover entrypoint
> d7156b986d4c x86/efistub: Clear BSS in EFI handover protocol entrypoint
> 8b63cba746f8 x86/decompressor: Store boot_params pointer in callee save register
> 00c6b0978ec1 x86/decompressor: Assign paging related global variables earlier
> e8972a76aa90 x86/decompressor: Call trampoline as a normal function
> 918a7a04e717 x86/decompressor: Use standard calling convention for trampoline
> bd328aa01ff7 x86/decompressor: Avoid the need for a stack in the
> 32-bit trampoline
> 64ef578b6b68 x86/decompressor: Call trampoline directly from C code
> f97b67a773cd x86/decompressor: Only call the trampoline when changing
> paging levels
> cb83cece57e1 x86/decompressor: Pass pgtable address to trampoline directly
> 03dda95137d3 x86/decompressor: Merge trampoline cleanup with switching code
> 24388292e2d7 x86/decompressor: Move global symbol references to C code
> 8217ad0a435f decompress: Use 8 byte alignment
For some reason, not all of these applied cleanly. But they still build
with just a subset :)
Here are the ones that failed for me:
0217a40d7ba6 ("efi: efivars: prevent double registration")
df9215f15206 ("x86/efistub: Simplify and clean up handover entry code")
127920645876 ("x86/decompressor: Avoid magic offsets for EFI handover entrypoint")
d7156b986d4c ("x86/efistub: Clear BSS in EFI handover protocol entrypoint")
Can you provide working backports for these 4? Everything else is now
queued up.
thanks,
greg k-h
next prev parent reply other threads:[~2024-03-04 10:37 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-25 10:02 EFI/x86 backports for v6.1 Ard Biesheuvel
2024-03-04 10:35 ` Greg KH [this message]
2024-03-04 10:50 ` 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=2024030419-booted-dwelled-619b@gregkh \
--to=greg@kroah.com \
--cc=ardb@kernel.org \
--cc=jan.setjeeilers@oracle.com \
--cc=stable@vger.kernel.org \
--cc=xnox@ubuntu.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