* [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery
[not found] <201607151313.u6FDDnDT017747@dev1.sn.stratus.com>
@ 2016-07-15 13:54 ` Cao, Lei
2016-07-15 18:28 ` Cao, Lei
0 siblings, 1 reply; 4+ messages in thread
From: Cao, Lei @ 2016-07-15 13:54 UTC (permalink / raw)
To: kvm@vger.kernel.org
With PML enabled, guest will shut down if a PML full VMEXIT occurs during
event delivery. According to Intel SDM 27.2.3, PML full VMEXIT can occur when
event is being delivered through IDT, so KVM should not exit to user space
with error. Instead, it should let EXIT_REASON_PML_FULL go through and the
event will be re-injected on the next VMENTRY.
Signed-off-by: Lei Cao <lei.cao@stratus.com>
---
arch/x86/kvm/vmx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 64a79f2..85bf9f3 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -8224,6 +8224,7 @@ static int vmx_handle_exit(struct kvm_vcpu *vcpu)
if ((vectoring_info & VECTORING_INFO_VALID_MASK) &&
(exit_reason != EXIT_REASON_EXCEPTION_NMI &&
exit_reason != EXIT_REASON_EPT_VIOLATION &&
+ exit_reason != EXIT_REASON_PML_FULL &&
exit_reason != EXIT_REASON_TASK_SWITCH)) {
vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_DELIVERY_EV;
--
2.5.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery
2016-07-15 13:54 ` [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery Cao, Lei
@ 2016-07-15 18:28 ` Cao, Lei
2016-07-16 13:10 ` Radim Krčmář
0 siblings, 1 reply; 4+ messages in thread
From: Cao, Lei @ 2016-07-15 18:28 UTC (permalink / raw)
To: Paolo Bonzini, Radim Krčmář, kvm@vger.kernel.org
With PML enabled, guest will shut down if a PML full VMEXIT occurs during
event delivery. According to Intel SDM 27.2.3, PML full VMEXIT can occur when
event is being delivered through IDT, so KVM should not exit to user space
with error. Instead, it should let EXIT_REASON_PML_FULL go through and the
event will be re-injected on the next VMENTRY.
Signed-off-by: Lei Cao <lei.cao@stratus.com>
---
arch/x86/kvm/vmx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 64a79f2..85bf9f3 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -8224,6 +8224,7 @@ static int vmx_handle_exit(struct kvm_vcpu *vcpu)
if ((vectoring_info & VECTORING_INFO_VALID_MASK) &&
(exit_reason != EXIT_REASON_EXCEPTION_NMI &&
exit_reason != EXIT_REASON_EPT_VIOLATION &&
+ exit_reason != EXIT_REASON_PML_FULL &&
exit_reason != EXIT_REASON_TASK_SWITCH)) {
vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_DELIVERY_EV;
--
2.5.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery
2016-07-15 18:28 ` Cao, Lei
@ 2016-07-16 13:10 ` Radim Krčmář
2016-07-18 6:56 ` Yang Zhang
0 siblings, 1 reply; 4+ messages in thread
From: Radim Krčmář @ 2016-07-16 13:10 UTC (permalink / raw)
To: Cao, Lei; +Cc: Paolo Bonzini, kvm@vger.kernel.org
2016-07-15 18:28+0000, Cao, Lei:
> With PML enabled, guest will shut down if a PML full VMEXIT occurs during
> event delivery. According to Intel SDM 27.2.3, PML full VMEXIT can occur when
> event is being delivered through IDT, so KVM should not exit to user space
> with error. Instead, it should let EXIT_REASON_PML_FULL go through and the
> event will be re-injected on the next VMENTRY.
>
> Signed-off-by: Lei Cao <lei.cao@stratus.com>
> ---
Applied, thanks.
I have Cc'd stable and shortened the summary to "KVM: VMX: handle PML
full VMEXIT that occurs during event delivery".
(See Documentation/SubmittingPatches for reasoning about the 70-75
character limit.)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery
2016-07-16 13:10 ` Radim Krčmář
@ 2016-07-18 6:56 ` Yang Zhang
0 siblings, 0 replies; 4+ messages in thread
From: Yang Zhang @ 2016-07-18 6:56 UTC (permalink / raw)
To: Radim Krčmář, Cao, Lei; +Cc: Paolo Bonzini, kvm@vger.kernel.org
On 2016/7/16 21:10, Radim Krčmář wrote:
> 2016-07-15 18:28+0000, Cao, Lei:
>> With PML enabled, guest will shut down if a PML full VMEXIT occurs during
>> event delivery. According to Intel SDM 27.2.3, PML full VMEXIT can occur when
>> event is being delivered through IDT, so KVM should not exit to user space
>> with error. Instead, it should let EXIT_REASON_PML_FULL go through and the
>> event will be re-injected on the next VMENTRY.
>>
>> Signed-off-by: Lei Cao <lei.cao@stratus.com>
>> ---
>
> Applied, thanks.
>
> I have Cc'd stable and shortened the summary to "KVM: VMX: handle PML
> full VMEXIT that occurs during event delivery".
> (See Documentation/SubmittingPatches for reasoning about the 70-75
> character limit.)
According to intel SDM 27.2.3, APIC-access VM exit also is possible
during event delivery, but i don't see KVM considers it in
vmx_handle_exit(). Am i missing something?
27.2.3 Information for VM Exits During Event Delivery
Section 24.9.3 defined fields containing information for VM exits that
occur while delivering an event through the IDT and as a result of any
of the following cases:
• A fault occurs during event delivery and causes a VM exit (because the
bit associated with the fault is set to 1 in the exception bitmap).
• A task switch is invoked through a task gate in the IDT. The VM exit
occurs due to the task switch only after the initial checks of the task
switch pass (see Section 25.4.2).
• Event delivery causes an APIC-access VM exit (see Section 29.4).
• An EPT violation, EPT misconfiguration, or page-modification log-full
event that occurs during event delivery.
--
Yang
Alibaba Cloud Computing
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-07-18 6:56 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <201607151313.u6FDDnDT017747@dev1.sn.stratus.com>
2016-07-15 13:54 ` [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery Cao, Lei
2016-07-15 18:28 ` Cao, Lei
2016-07-16 13:10 ` Radim Krčmář
2016-07-18 6:56 ` Yang Zhang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox