KVM: selftests: Explicit set #UD when *potentially* injecting exception
authorSean Christopherson <seanjc@google.com>
Thu, 17 Aug 2023 23:34:30 +0000 (16:34 -0700)
committerSean Christopherson <seanjc@google.com>
Fri, 25 Aug 2023 16:04:11 +0000 (09:04 -0700)
commit02dc2543e3795867260826983bf3f20b282c8fc3
treedbc5f0db61c68faeb39231b10255491fc912d566
parent5002b112a5ad23579b7c3a36c9748740bcdfc88e
KVM: selftests: Explicit set #UD when *potentially* injecting exception

Explicitly set the exception vector to #UD when potentially injecting an
exception in sync_regs_test's subtests that try to detect TOCTOU bugs
in KVM's handling of exceptions injected by userspace.  A side effect of
the original KVM bug was that KVM would clear the vector, but relying on
KVM to clear the vector (i.e. make it #DE) makes it less likely that the
test would ever find *new* KVM bugs, e.g. because only the first iteration
would run with a legal vector to start.

Explicitly inject #UD for race_events_inj_pen() as well, e.g. so that it
doesn't inherit the illegal 255 vector from race_events_exc(), which
currently runs first.

Link: https://lore.kernel.org/r/20230817233430.1416463-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/x86_64/sync_regs_test.c