]> xenbits.xensource.com Git - people/pauldu/linux.git/commitdiff
KVM: selftests: Fix MWAIT error message when guest assertion fails
authorSean Christopherson <seanjc@google.com>
Wed, 29 Nov 2023 22:49:13 +0000 (14:49 -0800)
committerSean Christopherson <seanjc@google.com>
Fri, 1 Dec 2023 16:15:40 +0000 (08:15 -0800)
Print out the test and vector as intended when a guest assert fails an
assertion regarding MONITOR/MWAIT faulting.  Unfortunately, the guest
printf support doesn't detect such issues at compile-time, so the bug
manifests as a confusing error message, e.g. in the most confusing case,
the test complains that it got vector "0" instead of expected vector "0".

Fixes: 0f52e4aaa614 ("KVM: selftests: Convert the MONITOR/MWAIT test to use printf guest asserts")
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Link: https://lore.kernel.org/r/20231107182159.404770-1-seanjc@google.com
Link: https://lore.kernel.org/r/20231129224916.532431-2-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/x86_64/monitor_mwait_test.c

index 80aa3d8b18f803c20092cc938d6822866146beda..853802641e1eafe553bc7c0676801227a5601be9 100644 (file)
@@ -27,10 +27,12 @@ do {                                                                        \
                                                                        \
        if (fault_wanted)                                               \
                __GUEST_ASSERT((vector) == UD_VECTOR,                   \
-                              "Expected #UD on " insn " for testcase '0x%x', got '0x%x'", vector); \
+                              "Expected #UD on " insn " for testcase '0x%x', got '0x%x'", \
+                              testcase, vector);                       \
        else                                                            \
                __GUEST_ASSERT(!(vector),                               \
-                              "Expected success on " insn " for testcase '0x%x', got '0x%x'", vector); \
+                              "Expected success on " insn " for testcase '0x%x', got '0x%x'", \
+                              testcase, vector);                       \
 } while (0)
 
 static void guest_monitor_wait(int testcase)