|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86: SHADOW_PAGING is deprecated
commit f2cac32029e639a0974ca6752fbc3fafdd4f139a
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Wed Jul 15 16:45:30 2026 +0100
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Tue Jul 28 12:40:10 2026 +0100
x86: SHADOW_PAGING is deprecated
Addressing certain issues, in particular related to operations which may
take excessively long and therefore would need preemption, has turned out
overly costly. Since alternatives (HVM/PVH: HAP, PV: shim) are commonly
available, the decision was to deprecate the functionality, while still
retaining it for people to use at their own (security) risk. Memory-wise
small enough guests may still be okay to run.
Some CI testing depends on SHADOW_PAGING. Explicitly enable it when needed.
This is CVE-2026-42493 / XSA-495.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
---
SUPPORT.md | 12 +++++++++++-
automation/gitlab-ci/analyze.yaml | 2 +-
automation/gitlab-ci/build.yaml | 4 ++++
xen/arch/x86/Kconfig | 4 +++-
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/SUPPORT.md b/SUPPORT.md
index 021264908c..55f2b0d102 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -366,6 +366,16 @@ This is typically done by a guest kernel agent known as a
"balloon driver".
Status: Supported
+### Shadow paging
+
+Allows fully virtualized guests (HVM / PVH) to be run without (host side) page
+translation support by hardware (AMD: NPT, Intel: EPT).
+
+It is also required to migrate PV guests, and to allow L1TF-vulnerable guests
+to continue to run without compromising host security.
+
+ Status: Supported, not security supported
+
### Populate-on-demand memory
This is a mechanism that allows normal operating systems with only a balloon
driver
@@ -498,7 +508,7 @@ This feature is independent
of the ARM "page granularity" feature (see below).
Status, x86 HVM/PVH, HAP: Supported
- Status, x86 HVM/PVH, Shadow, 2MiB: Supported
+ Status, x86 HVM/PVH, Shadow, 2MiB: Supported, not security supported
Status, ARM: Supported
On x86 in shadow mode, only 2MiB (L2) superpages are available;
diff --git a/automation/gitlab-ci/analyze.yaml
b/automation/gitlab-ci/analyze.yaml
index 3f7532ee1d..c650ed61c4 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -59,6 +59,7 @@ eclair-x86_64-allcode:
CONFIG_PERF_ARRAYS=y
CONFIG_PERF_COUNTERS=y
CONFIG_PV32=y
+ CONFIG_SHADOW_PAGING=y
CONFIG_UNSUPPORTED=y
CONFIG_XEN_GUEST=y
CONFIG_XHCI=y
@@ -91,7 +92,6 @@ eclair-x86_64-amd:
CONFIG_PV=n
CONFIG_XEN_IBT=n
CONFIG_XEN_SHSTK=n
- CONFIG_SHADOW_PAGING=n
CONFIG_HVM_FEP=n
CONFIG_TBOOT=n
CONFIG_HYPFS=n
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index d5929e34ec..27eefec5f9 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -296,12 +296,16 @@ debian-13-x86_64-gcc-debug:
<<: *build-test
variables:
CONTAINER: debian:13-x86_64
+ EXTRA_XEN_CONFIG: |
+ CONFIG_SHADOW_PAGING=y
debian-13-x86_64-clang-debug:
extends: .clang-x86_64-build-debug
<<: *build-test
variables:
CONTAINER: debian:13-x86_64
+ EXTRA_XEN_CONFIG: |
+ CONFIG_SHADOW_PAGING=y
debian-13-ppc64le-gcc-debug:
extends: .gcc-ppc64le-cross-build-debug
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 2ce4747f6e..3ce0774b8d 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -145,7 +145,6 @@ config XEN_IBT
config SHADOW_PAGING
bool "Shadow Paging"
- default !PV_SHIM_EXCLUSIVE
depends on PV || HVM
help
Shadow paging is a software alternative to hardware paging support
@@ -160,6 +159,9 @@ config SHADOW_PAGING
Under a small number of specific workloads, shadow paging may be
deliberately used as a performance optimisation.
+ NOTE: This feature is now deprecated. It is in particular no longer
+ security supported.
+
config PAGING
def_bool HVM || SHADOW_PAGING
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |