KVM: SVM: don't NMI singlestep over event injection
authorLadi Prosek <lprosek@redhat.com>
Wed, 21 Jun 2017 07:07:00 +0000 (09:07 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 27 Jun 2017 14:35:25 +0000 (16:35 +0200)
commita12713c25b36cbbc1a3204b2a49a72f7bc8a8847
tree51909a795319c8477cd7f83bf886536868eee827
parent9b61174793f2aae1ef5ef843ef1cdbe52c2e36e8
KVM: SVM: don't NMI singlestep over event injection

Singlestepping is enabled by setting the TF flag and care must be
taken to not let the guest see (and reuse at an inconvenient time)
the modified rflag value. One such case is event injection, as part
of which flags are pushed on the stack and restored later on iret.

This commit disables singlestepping when we're about to inject an
event and forces an immediate exit for us to re-evaluate the NMI
related state.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm.c