From: Liran Alon <LIRAN.ALON@ORACLE.COM>
To: Paolo Bonzini <pbonzini@redhat.com>, Jim Mattson <jmattson@google.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>,
"kvm list" <kvm@vger.kernel.org>,
"Wanpeng Li" <wanpeng.li@hotmail.com>,
"Idan Brown" <idan.brown@ORACLE.COM>,
"Konrad Rzeszutek Wilk" <konrad.wilk@ORACLE.COM>
Subject: Re: [PATCH v2 7/8] KVM: nVMX: Require immediate-exit when event reinjected to L2 and L1 event pending
Date: Tue, 28 Nov 2017 15:59:20 +0200 [thread overview]
Message-ID: <5A1D6BB8.4010709@ORACLE.COM> (raw)
In-Reply-To: <05242c26-8084-aa37-49b7-00f0a5c06ccc@redhat.com>
On 28/11/17 13:14, Paolo Bonzini wrote:
> On 28/11/2017 05:55, Jim Mattson wrote:
>> kvm_queue_interrupt() begins as follows:
>> vcpu->arch.interrupt.pending = true;
>>
>> kvm_cpu_has_interrupt() begins as follows:
>> if (!lapic_in_kernel(v))
>> return v->arch.interrupt.pending;
>>
>> In the referenced [patch 2/8], you change interrupt.pending to
>> interrupt.injected, but the same field is still referenced by these
>> two functions.
>
> We cannot remove the !lapic_in_kernel(v) case, but it's okay if we
> restrict nested VMX/SVM in CPUID when it is disabled (that is, check for
> !lapic_in_kernel in nested_svm_check_permissions and nested_vmx_allowed,
> so that setting VMXE and SVME will fail).
I agree with this suggestion.
I think it is best to currently make a commit before ("[PATCH v2 2/8]
KVM: x86: Rename interrupt.pending to interrupt.injected"), that will
add FIXME comments in kvm_cpu_has_interrupt() &
kvm_cpu_has_injectable_intr() specifying why it is problematic that they
use interrupt.pending in nVMX/nSVM scenarios and in addition put the
above checks Paolo mentioned in nested_svm_check_permissions() and
nested_vmx_allowed().
Regards,
-Liran
>
> Thanks,
>
> Paolo
>
next prev parent reply other threads:[~2017-11-28 13:59 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-21 15:30 [PATCH v2 0/8] KVM: Fix multiple issues in handling pending/injected events Liran Alon
2017-11-21 15:30 ` [PATCH v2 1/8] KVM: VMX: No need to clear pending NMI/interrupt on inject realmode interrupt Liran Alon
2017-12-01 23:45 ` Jim Mattson
2017-12-02 0:19 ` Liran Alon
2017-11-21 15:30 ` [PATCH v2 2/8] KVM: x86: Rename interrupt.pending to interrupt.injected Liran Alon
2017-11-28 17:02 ` Jim Mattson
2017-11-21 15:30 ` [PATCH v2 3/8] KVM: x86: set/get_events ioctl should consider only injected exceptions Liran Alon
2017-11-22 20:25 ` Radim Krčmář
2017-11-23 18:20 ` Liran Alon
2017-11-22 21:00 ` Jim Mattson
2017-11-23 18:45 ` Liran Alon
2017-11-23 23:05 ` Paolo Bonzini
2017-11-27 17:26 ` Jim Mattson
2017-11-27 18:30 ` Liran Alon
2017-11-21 15:30 ` [PATCH v2 4/8] KVM: x86: Warn if userspace overrides existing injected exception/interrupt Liran Alon
2017-11-22 20:34 ` Radim Krčmář
2017-11-22 22:27 ` Liran Alon
2017-11-21 15:30 ` [PATCH v2 5/8] Revert "kvm: nVMX: Disallow userspace-injected exceptions in guest mode" Liran Alon
2017-11-21 15:30 ` [PATCH v2 6/8] KVM: x86: Fix misleading comments on handling pending exceptions Liran Alon
2017-11-21 15:30 ` [PATCH v2 7/8] KVM: nVMX: Require immediate-exit when event reinjected to L2 and L1 event pending Liran Alon
2017-11-27 20:48 ` Jim Mattson
2017-11-27 22:42 ` Liran Alon
2017-11-28 4:55 ` Jim Mattson
2017-11-28 11:14 ` Paolo Bonzini
2017-11-28 13:59 ` Liran Alon [this message]
2017-11-28 11:36 ` Liran Alon
2017-11-28 6:39 ` Jim Mattson
2017-11-28 18:26 ` Jim Mattson
2017-11-28 19:45 ` Liran Alon
2017-11-28 21:04 ` Jim Mattson
2017-11-28 19:33 ` Liran Alon
2017-11-21 15:30 ` [PATCH v2 8/8] KVM: nVMX: Optimization: Dont set KVM_REQ_EVENT when VMExit with nested_run_pending Liran Alon
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=5A1D6BB8.4010709@ORACLE.COM \
--to=liran.alon@oracle.com \
--cc=idan.brown@ORACLE.COM \
--cc=jmattson@google.com \
--cc=konrad.wilk@ORACLE.COM \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=wanpeng.li@hotmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.