Thread (3 messages) 3 messages, 2 authors, 2021-07-27

Re: [PATCH v2] KVM: x86: accept userspace interrupt only if no event is injected

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2021-07-27 21:10:05
Also in: kvm, lkml

On 27/07/21 22:58, Sean Christopherson wrote:
quoted
---
  arch/x86/kvm/x86.c | 12 +++++++++++-
  1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 4116567f3d44..5e921f1e00db 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4358,8 +4358,18 @@ static int kvm_cpu_accept_dm_intr(struct kvm_vcpu *vcpu)
  
  static int kvm_vcpu_ready_for_interrupt_injection(struct kvm_vcpu *vcpu)
  {
+	/*
+	 * Do not cause an interrupt window exit if an exception
+	 * is pending or an event needs reinjection; userspace
+	 * might want to inject the interrupt manually using KVM_SET_REGS
+	 * or KVM_SET_SREGS.  For that to work, we must be at an
+	 * instruction boundary and with no events half-injected.
+	 */
  	return kvm_arch_interrupt_allowed(vcpu) &&
-		kvm_cpu_accept_dm_intr(vcpu);
+		kvm_cpu_accept_dm_intr(vcpu) &&
Opportunistically align this indentation?
Yep, good idea.
quoted
+	        !kvm_event_needs_reinjection(vcpu)
Missing &&, apparently the mysterious cherry-pick didn't go so well :-)
Well, yeah.  The only way I can excuse myself, is by not being the kind 
of person that yells for such stupid things...

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help