KVM: selftests: Skip AMX test if ARCH_REQ_XCOMP_GUEST_PERM isn't supported
authorSean Christopherson <seanjc@google.com>
Tue, 14 Jun 2022 20:07:04 +0000 (20:07 +0000)
committerSean Christopherson <seanjc@google.com>
Thu, 14 Jul 2022 01:14:24 +0000 (18:14 -0700)
Skip the AMX test instead of silently returning if the host kernel
doesn't support ARCH_REQ_XCOMP_GUEST_PERM.  KVM didn't support XFD until
v5.17, so it's extremely unlikely allowing the test to run on a pre-v5.15
kernel is the right thing to do.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20220614200707.3315957-40-seanjc@google.com
tools/testing/selftests/kvm/lib/x86_64/processor.c

index 6cb93bb..912da21 100644 (file)
@@ -601,14 +601,7 @@ void vm_xsave_req_perm(int bit)
 
        TEST_REQUIRE(bitmask & (1ULL << bit));
 
-       rc = syscall(SYS_arch_prctl, ARCH_REQ_XCOMP_GUEST_PERM, bit);
-
-       /*
-        * The older kernel version(<5.15) can't support
-        * ARCH_REQ_XCOMP_GUEST_PERM and directly return.
-        */
-       if (rc)
-               return;
+       TEST_REQUIRE(!syscall(SYS_arch_prctl, ARCH_REQ_XCOMP_GUEST_PERM, bit));
 
        rc = syscall(SYS_arch_prctl, ARCH_GET_XCOMP_GUEST_PERM, &bitmask);
        TEST_ASSERT(rc == 0, "prctl(ARCH_GET_XCOMP_GUEST_PERM) error: %ld", rc);