[PATCH v3 08/13] KVM: selftests: Always assert that vmclear() succeeds
From: Sean Christopherson
Date: Wed Aug 26 2026 - 19:45:22 EST
Continue removing dead error "handling", and assert that VMCLEAR
succeeds instead of forcing callers of load_vmcs() to assert success.
For all intents and purposes, no functional change intended.
Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
---
tools/testing/selftests/kvm/include/x86/vmx.h | 4 ++--
tools/testing/selftests/kvm/lib/x86/vmx.c | 6 ++----
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/kvm/include/x86/vmx.h b/tools/testing/selftests/kvm/include/x86/vmx.h
index f7ca6646dfbe..cf37a03a93b9 100644
--- a/tools/testing/selftests/kvm/include/x86/vmx.h
+++ b/tools/testing/selftests/kvm/include/x86/vmx.h
@@ -326,7 +326,7 @@ static inline void vmxoff(void)
__asm__ __volatile__("vmxoff");
}
-static inline int vmclear(u64 vmcs_pa)
+static inline void vmclear(u64 vmcs_pa)
{
u8 ret;
@@ -335,7 +335,7 @@ static inline int vmclear(u64 vmcs_pa)
: [pa]"m"(vmcs_pa)
: "cc", "memory");
- return ret;
+ __GUEST_ASSERT(!ret, "vmclear [0x%lx] failed\n", vmcs_pa);
}
static inline int vmptrld(u64 vmcs_pa)
diff --git a/tools/testing/selftests/kvm/lib/x86/vmx.c b/tools/testing/selftests/kvm/lib/x86/vmx.c
index 03d61b1159f8..57a8287de0d2 100644
--- a/tools/testing/selftests/kvm/lib/x86/vmx.c
+++ b/tools/testing/selftests/kvm/lib/x86/vmx.c
@@ -170,16 +170,14 @@ bool load_vmcs(struct vmx_pages *vmx)
{
/* Load a VMCS. */
*(u32 *)(vmx->vmcs) = vmcs_revision();
- if (vmclear(vmx->vmcs_gpa))
- return false;
+ vmclear(vmx->vmcs_gpa);
if (vmptrld(vmx->vmcs_gpa))
return false;
/* Setup shadow VMCS, do not load it yet. */
*(u32 *)(vmx->shadow_vmcs) = vmcs_revision() | 0x80000000ul;
- if (vmclear(vmx->shadow_vmcs_gpa))
- return false;
+ vmclear(vmx->shadow_vmcs_gpa);
return true;
}
--
2.55.0.887.g758fc8c411-goog