KVM: x86: Update KVM_SW_PROTECTED_VM docs to make it clear they're a WIP
authorSean Christopherson <seanjc@google.com>
Thu, 22 Feb 2024 19:06:09 +0000 (11:06 -0800)
committerSean Christopherson <seanjc@google.com>
Fri, 23 Feb 2024 01:07:06 +0000 (17:07 -0800)
Rewrite the help message for KVM_SW_PROTECTED_VM to make it clear that
software-protected VMs are a development and testing vehicle for
guest_memfd(), and that attempting to use KVM_SW_PROTECTED_VM for anything
remotely resembling a "real" VM will fail.  E.g. any memory accesses from
KVM will incorrectly access shared memory, nested TDP is wildly broken,
and so on and so forth.

Update KVM's API documentation with similar warnings to discourage anyone
from attempting to run anything but selftests with KVM_X86_SW_PROTECTED_VM.

Fixes: 89ea60c2c7b5 ("KVM: x86: Add support for "protected VMs" that can utilize private memory")
Link: https://lore.kernel.org/r/20240222190612.2942589-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Documentation/virt/kvm/api.rst
arch/x86/kvm/Kconfig

index 3ec0b7a455a0cf489b93683a49b5362cded0b570..09c7e585ff5800da5a72a1f9dbd8b719f0b6d595 100644 (file)
@@ -8791,6 +8791,11 @@ means the VM type with value @n is supported.  Possible values of @n are::
   #define KVM_X86_DEFAULT_VM   0
   #define KVM_X86_SW_PROTECTED_VM      1
 
+Note, KVM_X86_SW_PROTECTED_VM is currently only for development and testing.
+Do not use KVM_X86_SW_PROTECTED_VM for "real" VMs, and especially not in
+production.  The behavior and effective ABI for software-protected VMs is
+unstable.
+
 9. Known KVM API problems
 =========================
 
index 87e3da7b0439790dac6b35aa4f95e8e7573284d7..65ed14b6540bbebfb91e1d20d0c7627277da3f26 100644 (file)
@@ -80,9 +80,10 @@ config KVM_SW_PROTECTED_VM
        depends on KVM && X86_64
        select KVM_GENERIC_PRIVATE_MEM
        help
-         Enable support for KVM software-protected VMs.  Currently "protected"
-         means the VM can be backed with memory provided by
-         KVM_CREATE_GUEST_MEMFD.
+         Enable support for KVM software-protected VMs.  Currently, software-
+         protected VMs are purely a development and testing vehicle for
+         KVM_CREATE_GUEST_MEMFD.  Attempting to run a "real" VM workload as a
+         software-protected VM will fail miserably.
 
          If unsure, say "N".