From: Sean Christopherson <seanjc@google.com>
To: Sean Christopherson <seanjc@google.com>,
Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
f734222792@gmail.com, Vitaly Kuznetsov <vkuznets@redhat.com>,
Sashiko Bot <sashiko-bot@kernel.org>,
Yosry Ahmed <yosry@kernel.org>
Subject: [PATCH v3 10/13] KVM: selftests: Drop useless return code from load_vmcs()
Date: Wed, 26 Aug 2026 16:39:16 -0700 [thread overview]
Message-ID: <20260826233919.998904-11-seanjc@google.com> (raw)
In-Reply-To: <20260826233919.998904-1-seanjc@google.com>
Now that load_vmcs() either asserts or returns success, drop the return
code and the many asserts in its callers.
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
tools/testing/selftests/kvm/include/x86/vmx.h | 2 +-
tools/testing/selftests/kvm/lib/x86/memstress.c | 2 +-
tools/testing/selftests/kvm/lib/x86/vmx.c | 4 +---
tools/testing/selftests/kvm/x86/aperfmperf_test.c | 2 +-
tools/testing/selftests/kvm/x86/kvm_buslock_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_close_kvm_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_dirty_log_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_emulation_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_exceptions_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c | 2 +-
tools/testing/selftests/kvm/x86/nested_tsc_scaling_test.c | 2 +-
tools/testing/selftests/kvm/x86/save_restore_pf_stress_test.c | 2 +-
tools/testing/selftests/kvm/x86/smm_test.c | 2 +-
tools/testing/selftests/kvm/x86/state_test.c | 2 +-
tools/testing/selftests/kvm/x86/triple_fault_event_test.c | 2 +-
tools/testing/selftests/kvm/x86/vmx_apic_access_test.c | 2 +-
tools/testing/selftests/kvm/x86/vmx_apicv_updates_test.c | 2 +-
.../selftests/kvm/x86/vmx_invalid_nested_guest_state.c | 2 +-
tools/testing/selftests/kvm/x86/vmx_nested_la57_state_test.c | 2 +-
tools/testing/selftests/kvm/x86/vmx_preemption_timer_test.c | 2 +-
22 files changed, 22 insertions(+), 24 deletions(-)
diff --git a/tools/testing/selftests/kvm/include/x86/vmx.h b/tools/testing/selftests/kvm/include/x86/vmx.h
index 8f004b946826..5c46ae95c4c3 100644
--- a/tools/testing/selftests/kvm/include/x86/vmx.h
+++ b/tools/testing/selftests/kvm/include/x86/vmx.h
@@ -550,7 +550,7 @@ union vmx_ctrl_msr {
struct vmx_pages *vcpu_alloc_vmx(struct kvm_vm *vm, gva_t *p_vmx_gva);
void prepare_for_vmx_operation(struct vmx_pages *vmx);
void prepare_vmcs(struct vmx_pages *vmx, void *guest_rip);
-bool load_vmcs(struct vmx_pages *vmx);
+void load_vmcs(struct vmx_pages *vmx);
bool ept_1g_pages_supported(void);
diff --git a/tools/testing/selftests/kvm/lib/x86/memstress.c b/tools/testing/selftests/kvm/lib/x86/memstress.c
index 2fa39470c1b3..207350ab6114 100644
--- a/tools/testing/selftests/kvm/lib/x86/memstress.c
+++ b/tools/testing/selftests/kvm/lib/x86/memstress.c
@@ -34,7 +34,7 @@ static void l1_vmx_code(struct vmx_pages *vmx, u64 vcpu_id)
{
GUEST_ASSERT(vmx->vmcs_gpa);
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT(load_vmcs(vmx));
+ load_vmcs(vmx);
GUEST_ASSERT(ept_1g_pages_supported());
*(u64 *)vmx->stack = vcpu_id;
diff --git a/tools/testing/selftests/kvm/lib/x86/vmx.c b/tools/testing/selftests/kvm/lib/x86/vmx.c
index e65024b9ea0d..5c6cadc08405 100644
--- a/tools/testing/selftests/kvm/lib/x86/vmx.c
+++ b/tools/testing/selftests/kvm/lib/x86/vmx.c
@@ -166,7 +166,7 @@ void prepare_for_vmx_operation(struct vmx_pages *vmx)
vmxon(vmx->vmxon_gpa);
}
-bool load_vmcs(struct vmx_pages *vmx)
+void load_vmcs(struct vmx_pages *vmx)
{
/* Load a VMCS. */
*(u32 *)(vmx->vmcs) = vmcs_revision();
@@ -177,8 +177,6 @@ bool load_vmcs(struct vmx_pages *vmx)
/* Setup shadow VMCS, do not load it yet. */
*(u32 *)(vmx->shadow_vmcs) = vmcs_revision() | 0x80000000ul;
vmclear(vmx->shadow_vmcs_gpa);
-
- return true;
}
static bool ept_vpid_cap_supported(u64 mask)
diff --git a/tools/testing/selftests/kvm/x86/aperfmperf_test.c b/tools/testing/selftests/kvm/x86/aperfmperf_test.c
index e32131cd6ed1..11f5894d8ac7 100644
--- a/tools/testing/selftests/kvm/x86/aperfmperf_test.c
+++ b/tools/testing/selftests/kvm/x86/aperfmperf_test.c
@@ -71,7 +71,7 @@ static void l1_svm_code(struct svm_test_data *svm)
static void l1_vmx_code(struct vmx_pages *vmx)
{
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT_EQ(load_vmcs(vmx), true);
+ load_vmcs(vmx);
prepare_vmcs(vmx, NULL);
diff --git a/tools/testing/selftests/kvm/x86/kvm_buslock_test.c b/tools/testing/selftests/kvm/x86/kvm_buslock_test.c
index 2e006ce95896..22993ec697fa 100644
--- a/tools/testing/selftests/kvm/x86/kvm_buslock_test.c
+++ b/tools/testing/selftests/kvm/x86/kvm_buslock_test.c
@@ -43,7 +43,7 @@ static void l1_svm_code(struct svm_test_data *svm)
static void l1_vmx_code(struct vmx_pages *vmx)
{
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT_EQ(load_vmcs(vmx), true);
+ load_vmcs(vmx);
prepare_vmcs(vmx, NULL);
diff --git a/tools/testing/selftests/kvm/x86/nested_close_kvm_test.c b/tools/testing/selftests/kvm/x86/nested_close_kvm_test.c
index 479e9adcc20b..309cab009929 100644
--- a/tools/testing/selftests/kvm/x86/nested_close_kvm_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_close_kvm_test.c
@@ -31,7 +31,7 @@ static void l2_guest_code(void)
static void l1_vmx_code(struct vmx_pages *vmx_pages)
{
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
/* Prepare the VMCS for L2 execution. */
prepare_vmcs(vmx_pages, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/nested_dirty_log_test.c b/tools/testing/selftests/kvm/x86/nested_dirty_log_test.c
index 57f49471f4aa..dca2bfc8b158 100644
--- a/tools/testing/selftests/kvm/x86/nested_dirty_log_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_dirty_log_test.c
@@ -94,7 +94,7 @@ void l1_vmx_code(struct vmx_pages *vmx)
GUEST_ASSERT(vmx->vmcs_gpa);
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT(load_vmcs(vmx));
+ load_vmcs(vmx);
if (vmx->eptp_gpa)
l2_rip = l2_guest_code_tdp_enabled;
diff --git a/tools/testing/selftests/kvm/x86/nested_emulation_test.c b/tools/testing/selftests/kvm/x86/nested_emulation_test.c
index 6f27930bb6b5..2b38eff4f516 100644
--- a/tools/testing/selftests/kvm/x86/nested_emulation_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_emulation_test.c
@@ -67,7 +67,7 @@ static void guest_code(void *test_data)
vmcb->control.intercept_exceptions = 0;
} else {
prepare_for_vmx_operation(test_data);
- GUEST_ASSERT(load_vmcs(test_data));
+ load_vmcs(test_data);
prepare_vmcs(test_data, NULL);
GUEST_ASSERT(!vmwrite(GUEST_IDTR_LIMIT, 0));
diff --git a/tools/testing/selftests/kvm/x86/nested_exceptions_test.c b/tools/testing/selftests/kvm/x86/nested_exceptions_test.c
index 6a36cf4d1eab..50c271a03692 100644
--- a/tools/testing/selftests/kvm/x86/nested_exceptions_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_exceptions_test.c
@@ -127,7 +127,7 @@ static void l1_vmx_code(struct vmx_pages *vmx)
{
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT_EQ(load_vmcs(vmx), true);
+ load_vmcs(vmx);
prepare_vmcs(vmx, NULL);
GUEST_ASSERT_EQ(vmwrite(GUEST_IDTR_LIMIT, 0), 0);
diff --git a/tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c b/tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
index 749a93c318fe..43deb3b358ea 100644
--- a/tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
@@ -41,7 +41,7 @@ static void l1_vmx_code(struct vmx_pages *vmx_pages)
uintptr_t save_cr3;
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
prepare_vmcs(vmx_pages, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c b/tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
index b143ebe710e7..52df467e9c44 100644
--- a/tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
@@ -56,7 +56,7 @@ static void l1_vmx_code(struct vmx_pages *vmx, u64 expected_fault_gpa,
GUEST_ASSERT(vmx->vmcs_gpa);
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT(load_vmcs(vmx));
+ load_vmcs(vmx);
prepare_vmcs(vmx, l2_entry);
diff --git a/tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c b/tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c
index 3d2eae848ba6..05194762ed33 100644
--- a/tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c
@@ -87,7 +87,7 @@ static void l1_guest_code(void *data)
u32 control;
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
prepare_vmcs(vmx_pages, l2_guest_code);
control = vmreadz(CPU_BASED_VM_EXEC_CONTROL);
diff --git a/tools/testing/selftests/kvm/x86/nested_tsc_scaling_test.c b/tools/testing/selftests/kvm/x86/nested_tsc_scaling_test.c
index 584071146b69..b9fae268a9ec 100644
--- a/tools/testing/selftests/kvm/x86/nested_tsc_scaling_test.c
+++ b/tools/testing/selftests/kvm/x86/nested_tsc_scaling_test.c
@@ -106,7 +106,7 @@ static void l1_vmx_code(struct vmx_pages *vmx_pages)
check_tsc_freq(UCHECK_L1);
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
/* prepare the VMCS for L2 execution */
prepare_vmcs(vmx_pages, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/save_restore_pf_stress_test.c b/tools/testing/selftests/kvm/x86/save_restore_pf_stress_test.c
index 6ab73a0bd34a..c0e4d6e156ad 100644
--- a/tools/testing/selftests/kvm/x86/save_restore_pf_stress_test.c
+++ b/tools/testing/selftests/kvm/x86/save_restore_pf_stress_test.c
@@ -99,7 +99,7 @@ static void l1_svm_code(struct svm_test_data *svm)
static void l1_vmx_code(struct vmx_pages *vmx)
{
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT(load_vmcs(vmx));
+ load_vmcs(vmx);
prepare_vmcs(vmx, guest_access_memory);
GUEST_ASSERT(!vmwrite(EXCEPTION_BITMAP, BIT(UD_VECTOR)));
diff --git a/tools/testing/selftests/kvm/x86/smm_test.c b/tools/testing/selftests/kvm/x86/smm_test.c
index be5662792ec8..377df09e582a 100644
--- a/tools/testing/selftests/kvm/x86/smm_test.c
+++ b/tools/testing/selftests/kvm/x86/smm_test.c
@@ -79,7 +79,7 @@ static void guest_code(void *arg)
generic_svm_setup(svm, l2_guest_code);
} else {
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
prepare_vmcs(vmx_pages, l2_guest_code);
}
diff --git a/tools/testing/selftests/kvm/x86/state_test.c b/tools/testing/selftests/kvm/x86/state_test.c
index a7786f478be0..bd5e9e36b2c9 100644
--- a/tools/testing/selftests/kvm/x86/state_test.c
+++ b/tools/testing/selftests/kvm/x86/state_test.c
@@ -77,7 +77,7 @@ static void vmx_l1_guest_code(struct vmx_pages *vmx_pages)
GUEST_ASSERT(vmx_pages->vmcs_gpa);
prepare_for_vmx_operation(vmx_pages);
GUEST_SYNC(3);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
GUEST_ASSERT(vmptrst() == vmx_pages->vmcs_gpa);
GUEST_SYNC(4);
diff --git a/tools/testing/selftests/kvm/x86/triple_fault_event_test.c b/tools/testing/selftests/kvm/x86/triple_fault_event_test.c
index 57e79922b16b..a9fb7046ea4f 100644
--- a/tools/testing/selftests/kvm/x86/triple_fault_event_test.c
+++ b/tools/testing/selftests/kvm/x86/triple_fault_event_test.c
@@ -26,7 +26,7 @@ void l1_guest_code_vmx(struct vmx_pages *vmx)
GUEST_ASSERT(vmx->vmcs_gpa);
prepare_for_vmx_operation(vmx);
- GUEST_ASSERT(load_vmcs(vmx));
+ load_vmcs(vmx);
prepare_vmcs(vmx, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/vmx_apic_access_test.c b/tools/testing/selftests/kvm/x86/vmx_apic_access_test.c
index 7df9ab833cb2..1793f7b02219 100644
--- a/tools/testing/selftests/kvm/x86/vmx_apic_access_test.c
+++ b/tools/testing/selftests/kvm/x86/vmx_apic_access_test.c
@@ -39,7 +39,7 @@ static void l1_guest_code(struct vmx_pages *vmx_pages, unsigned long high_gpa)
u32 control;
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
/* Prepare the VMCS for L2 execution. */
prepare_vmcs(vmx_pages, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/vmx_apicv_updates_test.c b/tools/testing/selftests/kvm/x86/vmx_apicv_updates_test.c
index 8e4dc304533a..f7ebc9b15629 100644
--- a/tools/testing/selftests/kvm/x86/vmx_apicv_updates_test.c
+++ b/tools/testing/selftests/kvm/x86/vmx_apicv_updates_test.c
@@ -34,7 +34,7 @@ static void l1_guest_code(struct vmx_pages *vmx_pages)
u32 control;
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
/* Prepare the VMCS for L2 execution. */
prepare_vmcs(vmx_pages, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/vmx_invalid_nested_guest_state.c b/tools/testing/selftests/kvm/x86/vmx_invalid_nested_guest_state.c
index 8999f0458aa1..4a6445958cf4 100644
--- a/tools/testing/selftests/kvm/x86/vmx_invalid_nested_guest_state.c
+++ b/tools/testing/selftests/kvm/x86/vmx_invalid_nested_guest_state.c
@@ -42,7 +42,7 @@ static void l2_guest_code(void)
static void l1_guest_code(struct vmx_pages *vmx_pages)
{
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
/* Prepare the VMCS for L2 execution. */
prepare_vmcs(vmx_pages, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/vmx_nested_la57_state_test.c b/tools/testing/selftests/kvm/x86/vmx_nested_la57_state_test.c
index 444596ab1592..04c2d5113e84 100644
--- a/tools/testing/selftests/kvm/x86/vmx_nested_la57_state_test.c
+++ b/tools/testing/selftests/kvm/x86/vmx_nested_la57_state_test.c
@@ -38,7 +38,7 @@ static void l1_guest_code(struct vmx_pages *vmx_pages)
GUEST_ASSERT(vmx_pages->vmcs_gpa);
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
prepare_vmcs(vmx_pages, l2_guest_code);
diff --git a/tools/testing/selftests/kvm/x86/vmx_preemption_timer_test.c b/tools/testing/selftests/kvm/x86/vmx_preemption_timer_test.c
index 09f9686657ad..50fc9309158f 100644
--- a/tools/testing/selftests/kvm/x86/vmx_preemption_timer_test.c
+++ b/tools/testing/selftests/kvm/x86/vmx_preemption_timer_test.c
@@ -72,7 +72,7 @@ void l1_guest_code(struct vmx_pages *vmx_pages)
GUEST_ASSERT(vmx_pages->vmcs_gpa);
prepare_for_vmx_operation(vmx_pages);
- GUEST_ASSERT(load_vmcs(vmx_pages));
+ load_vmcs(vmx_pages);
GUEST_ASSERT(vmptrst() == vmx_pages->vmcs_gpa);
prepare_vmcs(vmx_pages, l2_guest_code);
--
2.55.0.887.g758fc8c411-goog
next prev parent reply other threads:[~2026-08-26 23:39 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-26 23:39 [PATCH v3 00/13] KVM: nVMX: Adjust VMPTRLD/VMPTRST behavior with active eVMCS Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 01/13] KVM: nVMX: Make VMPTRLD result in #UD when eVMCS is used Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 02/13] KVM: nVMX: Make VMPTRST return eVMCS GPA when it " Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 03/13] KVM: selftests: Don't clobber RFLAGS in happy path of __KVM_ASM_SAFE() Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 04/13] KVM: selftests: Adapt to the updated VMPTRST behavior when eVMCS is used Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 05/13] KVM: selftests: Check VMPTRLD with active eVMCS Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 06/13] KVM: selftests: Assert success in vmptrst(), kill off vmptrstz() Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 07/13] KVM: selftests: Always assert that vmxon() and prepare_for_vmx_operation() succeed Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 08/13] KVM: selftests: Always assert that vmclear() succeeds Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 09/13] KVM: selftests: Always assert that vmptrld() succeeds Sean Christopherson
2026-08-26 23:39 ` Sean Christopherson [this message]
2026-08-26 23:39 ` [PATCH v3 11/13] KVM: selftests: Add macros to handle simple VMX instructions Sean Christopherson
2026-08-26 23:39 ` [PATCH v3 12/13] KVM: selftests: Dedup assembly code for VMLAUNCH and VMRESUME Sean Christopherson
2026-08-27 6:45 ` Yosry Ahmed
2026-08-27 16:40 ` Sean Christopherson
2026-08-27 16:49 ` Yosry Ahmed
2026-08-27 17:17 ` Sean Christopherson
2026-08-27 17:21 ` Yosry Ahmed
2026-08-27 17:33 ` Sean Christopherson
2026-08-27 17:50 ` Yosry Ahmed
2026-08-27 18:07 ` Sean Christopherson
2026-08-27 18:21 ` Yosry Ahmed
2026-08-26 23:39 ` [PATCH v3 13/13] KVM: selftests: Add and use double-underscore versions of vmlaunch() and vmresume() Sean Christopherson
2026-08-27 6:51 ` Yosry Ahmed
2026-08-27 20:28 ` Sean Christopherson
2026-08-27 20:37 ` Yosry Ahmed
2026-08-27 20:48 ` Sean Christopherson
2026-08-27 20:56 ` Yosry Ahmed
2026-08-27 21:02 ` Sean Christopherson
2026-08-27 21:05 ` Yosry Ahmed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260826233919.998904-11-seanjc@google.com \
--to=seanjc@google.com \
--cc=f734222792@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=sashiko-bot@kernel.org \
--cc=vkuznets@redhat.com \
--cc=yosry@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®