[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging-4.17] x86: SHADOW_PAGING is deprecated



commit 05e373691b9a377050a8a4aaf27f6a9a3adcd6d1
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Jul 20 16:45:10 2026 +0100
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Tue Jul 28 13:10:38 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>
    (cherry picked from commit f2cac32029e639a0974ca6752fbc3fafdd4f139a)
---
 SUPPORT.md                      | 12 +++++++++++-
 automation/gitlab-ci/build.yaml |  4 ++++
 xen/arch/x86/Kconfig            |  4 ++--
 3 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index a55910fcce..b040f95242 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -286,6 +286,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
@@ -411,7 +421,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/build.yaml b/automation/gitlab-ci/build.yaml
index 1b27e5c01b..34490488d0 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -238,6 +238,8 @@ debian-stretch-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
     CONTAINER: debian:stretch
+    EXTRA_XEN_CONFIG: |
+      CONFIG_SHADOW_PAGING=y
 
 debian-stretch-32-clang-debug:
   extends: .clang-x86-32-build-debug
@@ -266,6 +268,8 @@ debian-bookworm-clang-debug:
   extends: .clang-x86-64-build-debug
   variables:
     CONTAINER: debian:bookworm
+    EXTRA_XEN_CONFIG: |
+      CONFIG_SHADOW_PAGING=y
 
 debian-bookworm-gcc:
   extends: .gcc-x86-64-build
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 370558756f..f4e38588c6 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -151,7 +151,6 @@ config XEN_IBT
 
 config SHADOW_PAGING
        bool "Shadow Paging"
-       default !PV_SHIM_EXCLUSIVE
        depends on PV || HVM
        ---help---
 
@@ -167,7 +166,8 @@ config SHADOW_PAGING
           Under a small number of specific workloads, shadow paging may be
           deliberately used as a performance optimisation.
 
-          If unsure, say Y.
+         NOTE: This feature is now deprecated. It is in particular no longer
+               security supported.
 
 config BIGMEM
        bool "big memory support"
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.17



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.