From: Paolo Bonzini <pbonzini@redhat.com>
To: Lai Jiangshan <jiangshanlai+lkml@gmail.com>,
Sean Christopherson <seanjc@google.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
kvm@vger.kernel.org, Filippo Sironi <sironi@amazon.de>,
David Woodhouse <dwmw@amazon.co.uk>,
"v4.7+" <stable@vger.kernel.org>,
Wanpeng Li <wanpengli@tencent.com>
Subject: Re: [PATCH 2/2] KVM: x86: Fix split-irqchip vs interrupt injection window request
Date: Tue, 13 Apr 2021 14:15:12 +0200 [thread overview]
Message-ID: <80b013dc-0078-76f4-1299-3cff261ef7d8@redhat.com> (raw)
In-Reply-To: <CAJhGHyAcnwkCfTcnxXcgAHnF=wPbH2EDp7H+e74ce+oNOWJ=_Q@mail.gmail.com>
On 13/04/21 13:03, Lai Jiangshan wrote:
> This patch claims that it has a place to
> stash the IRQ when EFLAGS.IF=0, but inject_pending_event() seams to ignore
> EFLAGS.IF and queues the IRQ to the guest directly in the first branch
> of using "kvm_x86_ops.set_irq(vcpu)".
This is only true for pure-userspace irqchip. For split-irqchip, in
which case the "place to stash" the interrupt is
vcpu->arch.pending_external_vector.
For pure-userspace irqchip, KVM_INTERRUPT only cares about being able to
stash the interrupt in vcpu->arch.interrupt.injected. It is indeed
wrong for userspace to call KVM_INTERRUPT if the vCPU is not ready for
interrupt injection, but KVM_INTERRUPT does not return an error.
Ignoring the fact that this would be incorrect use of the API, are you
saying that the incorrect injection was not possible before this patch?
Paolo
next prev parent reply other threads:[~2021-04-13 12:15 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-27 11:21 [PATCH 0/2] KVM: x86: cleanup and fix userspace interrupt window Paolo Bonzini
2020-11-27 11:21 ` [PATCH 1/2] KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint Paolo Bonzini
2020-11-27 11:56 ` David Woodhouse
2020-11-27 12:52 ` Filippo Sironi
2020-11-27 11:21 ` [PATCH 2/2] KVM: x86: Fix split-irqchip vs interrupt injection window request Paolo Bonzini
2020-11-27 12:53 ` Filippo Sironi
2021-04-09 7:14 ` Lai Jiangshan
2021-04-12 21:43 ` Sean Christopherson
2021-04-13 11:03 ` Lai Jiangshan
2021-04-13 12:15 ` Paolo Bonzini [this message]
2021-04-14 2:28 ` Lai Jiangshan
2021-04-14 16:58 ` Paolo Bonzini
2021-04-15 0:59 ` Lai Jiangshan
2021-04-15 6:07 ` Paolo Bonzini
2021-04-15 8:06 ` Lai Jiangshan
2021-04-13 12:10 ` Paolo Bonzini
2020-11-27 12:49 ` [PATCH 0/2] KVM: x86: cleanup and fix userspace interrupt window David Woodhouse
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=80b013dc-0078-76f4-1299-3cff261ef7d8@redhat.com \
--to=pbonzini@redhat.com \
--cc=dwmw@amazon.co.uk \
--cc=jiangshanlai+lkml@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=seanjc@google.com \
--cc=sironi@amazon.de \
--cc=stable@vger.kernel.org \
--cc=wanpengli@tencent.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®