diff options
author | Michal Luczaj <mhal@rbox.co> | 2023-07-28 02:12:58 +0200 |
---|---|---|
committer | Sean Christopherson <seanjc@google.com> | 2023-08-02 13:33:20 -0700 |
commit | 0de704d2d6c82c7498fa1b8df66903f8139e3de2 (patch) | |
tree | 74a66deef7d82bdcec527f4206bdecde2b5ec852 /tools/testing/selftests/kvm/lib/sparsebit.c | |
parent | 60c4063b475215321fc63ab253c9a840bb664f35 (diff) |
KVM: selftests: Extend x86's sync_regs_test to check for exception races
Attempt to set the to-be-queued exception to be both pending and injected
_after_ KVM_CAP_SYNC_REGS's kvm_vcpu_ioctl_x86_set_vcpu_events() squashes
the pending exception (if there's also an injected exception). Buggy KVM
versions will eventually yell loudly about having impossible state when
processing queued excpetions, e.g.
WARNING: CPU: 0 PID: 1115 at arch/x86/kvm/x86.c:10095 kvm_check_and_inject_events+0x220/0x500 [kvm]
arch/x86/kvm/x86.c:kvm_check_and_inject_events():
WARN_ON_ONCE(vcpu->arch.exception.injected &&
vcpu->arch.exception.pending);
Signed-off-by: Michal Luczaj <mhal@rbox.co>
Link: https://lore.kernel.org/r/20230728001606.2275586-3-mhal@rbox.co
[sean: split to separate patch, massage changelog and comment]
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/testing/selftests/kvm/lib/sparsebit.c')
0 files changed, 0 insertions, 0 deletions