]> git.dujemihanovic.xyz Git - linux.git/commitdiff
selftests: fix check for circular KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 18 Nov 2021 10:23:20 +0000 (05:23 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 26 Nov 2021 11:43:29 +0000 (06:43 -0500)
KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM leaves the source VM in a dead state,
so migrating back to the original source VM fails the ioctl.  Adjust
the test.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/x86_64/sev_migrate_tests.c

index 5ba325cd64bfd80c02dd3ff441bb5330070700b2..a66b9be3023988bd9e80418994d30d231203d068 100644 (file)
@@ -89,7 +89,7 @@ static void test_sev_migrate_from(bool es)
 {
        struct kvm_vm *src_vm;
        struct kvm_vm *dst_vms[NR_MIGRATE_TEST_VMS];
-       int i;
+       int i, ret;
 
        src_vm = sev_vm_create(es);
        for (i = 0; i < NR_MIGRATE_TEST_VMS; ++i)
@@ -102,7 +102,10 @@ static void test_sev_migrate_from(bool es)
                sev_migrate_from(dst_vms[i]->fd, dst_vms[i - 1]->fd);
 
        /* Migrate the guest back to the original VM. */
-       sev_migrate_from(src_vm->fd, dst_vms[NR_MIGRATE_TEST_VMS - 1]->fd);
+       ret = __sev_migrate_from(src_vm->fd, dst_vms[NR_MIGRATE_TEST_VMS - 1]->fd);
+       TEST_ASSERT(ret == -1 && errno == EIO,
+                   "VM that was migrated from should be dead. ret %d, errno: %d\n", ret,
+                   errno);
 
        kvm_vm_free(src_vm);
        for (i = 0; i < NR_MIGRATE_TEST_VMS; ++i)