All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Introduce a REQUIRE_NX Kconfig option
@ 2023-06-29 12:17 Alejandro Vallejo
  2023-06-29 12:17 ` [PATCH v3 1/3] tools: Add __AC() macro to common-macros.h Alejandro Vallejo
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Alejandro Vallejo @ 2023-06-29 12:17 UTC (permalink / raw)
  To: Xen-devel; +Cc: Alejandro Vallejo

v3:
  * Fixed a Gitlab CI breakage on older toolchains (patch 1)
  * Removed XD_DISABLE override logic from cpu/intel.c
  * Various style fixes to patch 2 (from Andrew's feedback)

This option hardens Xen by forcing it to write secure (NX-enhanced) PTEs
regardless of the runtime NX feature bit in boot_cpu_data. This prevents an
attacker with partial write support from affecting Xen's PTE generation
logic by overriding the NX feature flag. The patch asserts support for the
NX bit in PTEs at boot time and if so short-circuits the cpu_has_nx macro
to 1.

Alejandro Vallejo (3):
  tools: Add __AC() macro to common-macros.h
  x86/boot: Clear XD_DISABLE from the early boot path
  x86: Add Kconfig option to require NX bit support

 tools/include/xen-tools/common-macros.h |  3 ++
 tools/libs/light/libxl_internal.h       |  2 -
 tools/tests/x86_emulator/x86-emulate.h  |  3 --
 xen/arch/x86/Kconfig                    | 16 +++++++
 xen/arch/x86/boot/head.S                | 62 ++++++++++++++++++++++---
 xen/arch/x86/boot/trampoline.S          |  3 +-
 xen/arch/x86/cpu/intel.c                | 16 +++----
 xen/arch/x86/efi/efi-boot.h             |  9 ++++
 xen/arch/x86/include/asm/cpufeature.h   |  3 +-
 xen/arch/x86/include/asm/msr-index.h    |  2 +-
 xen/arch/x86/include/asm/x86-vendors.h  |  6 +--
 11 files changed, 98 insertions(+), 27 deletions(-)

-- 
2.34.1



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

end of thread, other threads:[~2023-07-19 11:12 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-29 12:17 [PATCH v3 0/3] Introduce a REQUIRE_NX Kconfig option Alejandro Vallejo
2023-06-29 12:17 ` [PATCH v3 1/3] tools: Add __AC() macro to common-macros.h Alejandro Vallejo
2023-06-29 15:46   ` Alejandro Vallejo
2023-06-30 11:16   ` Andrew Cooper
2023-06-29 12:17 ` [PATCH v3 2/3] x86/boot: Clear XD_DISABLE from the early boot path Alejandro Vallejo
2023-06-29 15:46   ` Alejandro Vallejo
2023-06-30 11:19   ` Andrew Cooper
2023-06-30 12:28   ` Andrew Cooper
2023-06-29 12:17 ` [PATCH v3 3/3] x86: Add Kconfig option to require NX bit support Alejandro Vallejo
2023-06-29 15:48   ` Alejandro Vallejo
2023-07-18 13:19   ` Jan Beulich
2023-07-19  6:13     ` Jan Beulich
2023-07-19 11:11       ` Alejandro Vallejo
2023-06-29 15:36 ` [PATCH v3 0/3] Introduce a REQUIRE_NX Kconfig option Alejandro Vallejo

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.