mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-25 12:04:46 +08:00
selftests: KVM: sev_migrate_tests: Fix sev_ioctl()
TEST_ASSERT in SEV ioctl was allowing errors because it checked return value was good OR the FW error code was OK. This TEST_ASSERT should require both (aka. AND) values are OK. Removes the LAUNCH_START from the mirror VM because this call correctly fails because mirror VMs cannot call this command. Currently issues with the PSP driver functions mean the firmware error is not always reset to SEV_RET_SUCCESS when a call is successful. Mainly sev_platform_init() doesn't correctly set the fw error if the platform has already been initialized. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Sean Christopherson <seanjc@google.com> Cc: Marc Orr <marcorr@google.com> Signed-off-by: Peter Gonda <pgonda@google.com> Message-Id: <20211208191642.3792819-3-pgonda@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
4c66b56781
commit
427d046a41
@ -30,8 +30,9 @@ static void sev_ioctl(int vm_fd, int cmd_id, void *data)
|
|||||||
};
|
};
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
|
||||||
ret = ioctl(vm_fd, KVM_MEMORY_ENCRYPT_OP, &cmd);
|
ret = ioctl(vm_fd, KVM_MEMORY_ENCRYPT_OP, &cmd);
|
||||||
TEST_ASSERT((ret == 0 || cmd.error == SEV_RET_SUCCESS),
|
TEST_ASSERT(ret == 0 && cmd.error == SEV_RET_SUCCESS,
|
||||||
"%d failed: return code: %d, errno: %d, fw error: %d",
|
"%d failed: return code: %d, errno: %d, fw error: %d",
|
||||||
cmd_id, ret, errno, cmd.error);
|
cmd_id, ret, errno, cmd.error);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user