All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/11] x86/EFI: prevent write-execute sections
@ 2025-04-01 13:08 Roger Pau Monne
  2025-04-01 13:08 ` [PATCH v2 01/11] automation/dockers: add to README how to rebuild all containers Roger Pau Monne
                   ` (11 more replies)
  0 siblings, 12 replies; 39+ messages in thread
From: Roger Pau Monne @ 2025-04-01 13:08 UTC (permalink / raw)
  To: xen-devel
  Cc: Roger Pau Monne, Doug Goldstein, Stefano Stabellini,
	Daniel P. Smith, Marek Marczykowski-Górecki, Jan Beulich,
	Andrew Cooper, Julien Grall, Bertrand Marquis, Michal Orzel,
	Volodymyr Babchuk, Shawn Anastasio, Alistair Francis,
	Bob Eshleman, Connor Davis, Oleksii Kurochko

Hello,

The following series aim to remove the presence of any write and execute
section in the PE Xen image.  This is required to support the NX
compatible flag in the PE header.   By the end of the series the
resulting PE image has no relocations that apply to text sections, as
text sections are strictly mapped read-execute only.  Xen itself
attempting to apply relocations to text would result in page-faults.

A smoke test is added to Gitlab to ensure the PE NX support doesn't
regress.

Only patches 5 and 10 are carried over from v1, the rest are new.

Thanks, Roger.

Roger Pau Monne (11):
  automation/dockers: add to README how to rebuild all containers
  x86/mkreloc: fix obtaining PE image base address
  x86/mkreloc: use the string table to get names
  x86/mkreloc: print the linear address of relocations to read-only
    sections
  xen: remove -N from the linker command line
  x86/efi: discard .text.header for PE binary
  x86/efi: discard multiboot related entry code for PE binary
  x86/boot: place trampoline code in a non-execute section
  x86/efi: avoid a relocation in efi_arch_post_exit_boot()
  x86/efi: do not merge all .init sections
  automation/x86: add a xen.efi test with a strict NX OVMF build

 automation/build/README.md                   |  7 ++
 automation/build/fedora/41-x86_64.dockerfile |  5 ++
 automation/gitlab-ci/test.yaml               |  9 +++
 automation/scripts/qemu-smoke-x86-64-efi.sh  | 22 +++++-
 xen/arch/arm/Makefile                        |  6 +-
 xen/arch/ppc/Makefile                        |  6 +-
 xen/arch/riscv/Makefile                      |  6 +-
 xen/arch/x86/Makefile                        | 12 +--
 xen/arch/x86/boot/head.S                     |  3 +-
 xen/arch/x86/efi/efi-boot.h                  |  7 +-
 xen/arch/x86/efi/mkreloc.c                   | 77 +++++++++++++++++---
 xen/arch/x86/xen.lds.S                       | 20 +++--
 12 files changed, 138 insertions(+), 42 deletions(-)

-- 
2.48.1



^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2025-04-10  7:42 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-01 13:08 [PATCH v2 00/11] x86/EFI: prevent write-execute sections Roger Pau Monne
2025-04-01 13:08 ` [PATCH v2 01/11] automation/dockers: add to README how to rebuild all containers Roger Pau Monne
2025-04-01 13:25   ` Andrew Cooper
2025-04-01 23:08   ` Stefano Stabellini
2025-04-01 13:08 ` [PATCH v2 02/11] x86/mkreloc: fix obtaining PE image base address Roger Pau Monne
2025-04-01 14:01   ` Andrew Cooper
2025-04-01 14:17   ` Jan Beulich
2025-04-02  7:46     ` Jan Beulich
2025-04-08 11:21       ` Roger Pau Monné
2025-04-08 12:34         ` Jan Beulich
2025-04-10  7:20           ` Roger Pau Monné
2025-04-10  7:41             ` Jan Beulich
2025-04-01 13:08 ` [PATCH v2 03/11] x86/mkreloc: use the string table to get names Roger Pau Monne
2025-04-01 15:50   ` Jan Beulich
2025-04-02  7:42   ` Jan Beulich
2025-04-01 13:08 ` [PATCH v2 04/11] x86/mkreloc: print the linear address of relocations to read-only sections Roger Pau Monne
2025-04-01 15:55   ` Jan Beulich
2025-04-01 13:08 ` [PATCH v2 05/11] xen: remove -N from the linker command line Roger Pau Monne
2025-04-02 10:28   ` Julien Grall
2025-04-01 13:08 ` [PATCH v2 06/11] x86/efi: discard .text.header for PE binary Roger Pau Monne
2025-04-01 13:18   ` Jan Beulich
2025-04-01 13:22     ` Andrew Cooper
2025-04-01 13:08 ` [PATCH v2 07/11] x86/efi: discard multiboot related entry code " Roger Pau Monne
2025-04-01 16:02   ` Jan Beulich
2025-04-01 13:08 ` [PATCH v2 08/11] x86/boot: place trampoline code in a non-execute section Roger Pau Monne
2025-04-01 13:49   ` Andrew Cooper
2025-04-02  9:47     ` Jan Beulich
2025-04-01 13:08 ` [PATCH v2 09/11] x86/efi: avoid a relocation in efi_arch_post_exit_boot() Roger Pau Monne
2025-04-02 10:23   ` Jan Beulich
2025-04-01 13:08 ` [PATCH v2 10/11] x86/efi: do not merge all .init sections Roger Pau Monne
2025-04-02 10:28   ` Jan Beulich
2025-04-01 13:08 ` [PATCH v2 11/11] automation/x86: add a xen.efi test with a strict NX OVMF build Roger Pau Monne
2025-04-01 14:23   ` Andrew Cooper
2025-04-01 13:13 ` [PATCH v2 00/11] x86/EFI: prevent write-execute sections Jan Beulich
2025-04-01 13:26   ` Roger Pau Monné
2025-04-01 13:58     ` Jan Beulich
2025-04-07 14:04     ` Jan Beulich
2025-04-08  7:56       ` Roger Pau Monné
2025-04-08  8:18         ` Jan Beulich

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.