diff options
author | Sean Christopherson <seanjc@google.com> | 2022-05-02 00:07:30 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-06-08 04:46:53 -0400 |
commit | 7e5b5ef8dca3229a5226eabf53bdc7b67ebd07ad (patch) | |
tree | aa0eb70b5bec459b6d33bf71e91b05db08d617d5 /certs | |
parent | 6ef88d6e36c2b4b3886ec9967cafabe4424d27d5 (diff) |
KVM: SVM: Re-inject INTn instead of retrying the insn on "failure"
Re-inject INTn software interrupts instead of retrying the instruction if
the CPU encountered an intercepted exception while vectoring the INTn,
e.g. if KVM intercepted a #PF when utilizing shadow paging. Retrying the
instruction is architecturally wrong e.g. will result in a spurious #DB
if there's a code breakpoint on the INT3/O, and lack of re-injection also
breaks nested virtualization, e.g. if L1 injects a software interrupt and
vectoring the injected interrupt encounters an exception that is
intercepted by L0 but not L1.
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Message-Id: <1654ad502f860948e4f2d57b8bd881d67301f785.1651440202.git.maciej.szmigiero@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'certs')
0 files changed, 0 insertions, 0 deletions