KVM: nVMX: don't clear mtf_pending when nested events are blocked
PATCH 1/1 KVM: nVMX: don't clear mtf_pending when nested events are blocked
If nested events are blocked, don't clear the mtf_pending flag to avoid missing later delivery of the MTF VM-exit.
Fixes 5ef8acbdd687c ("KVM: nVMX: Emulate MTF when performing instruction emulation")
Signed-off-by Oliver Upton <[email protected]>
--- arch/x86/kvm/vmx/nested.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/x86/kvm/vmx/nested.c +2 -1
@@ -3645,7 +3645,8 @@ static int vmx_check_nested_events(struct kvm_vcpu *vcpu)* Clear the MTF state. If a higher priority VM-exit is delivered first, * this state is discarded. */ - vmx->nested.mtf_pending = false; +if (!block_nested_events) + vmx->nested.mtf_pending = false;if (lapic_in_kernel (vcpu) &&test_bit (KVM_APIC_INIT , &apic->pending_events)) {
Signature · 1 line
2.26.0.292.g33ef6b2f38-goog
Quoted 15 lines · Oliver Upton
If nested events are blocked, don't clear the
mtf_pendingflag to avoid missing later delivery of the MTF VM-exit.Fixes 5ef8acbdd687c ("KVM: nVMX: Emulate MTF when performing instruction emulation")Signed-off-by Oliver Upton <[email protected]>--- arch/x86/kvm/vmx/nested.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)arch/x86/kvm/vmx/nested.c +0
-0
arch/x86/kvm/vmx/nested.c static int vmx_check_nested_events(struct kvm_vcpu *vcpu) · line 3652
Quoted 9 lines
arch/x86/kvm/vmx/nested.c +2
-1@@ -3645,7 +3645,8 @@ static int vmx_check_nested_events(struct kvm_vcpu *vcpu)* Clear the MTF state. If a higher priority VM-exit is delivered first, * this state is discarded. */ - vmx->nested.mtf_pending = false; +if (!block_nested_events) + vmx->nested.mtf_pending = false;if (lapic_in_kernel (vcpu) &&test_bit (KVM_APIC_INIT , &apic->pending_events)) {
Queued, thanks.
Paolo