Re: [PATCH 0/4] KVM: nVMX: Fix pending event injection on nested scenarios

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/11/2017 15:07, Liran Alon wrote:
> Hi,
> 
> This series of patches aim to fix multiple related issues with how
> pending event injection works on nVMX.
> 
> The first patch fixes a simple error in the return-value of
> vmx_check_nested_events(). Next patch relies on it to correctly
> determine when an immediate-exit is required from L2 to L1.
> 
> The second patch fixes a critical bug which caused L1 to miss an IPI
> in case it was sent when destination CPU exited from L2 to L0 due to
> event-delivery.
> 
> The third patch removes a now reduntant signaling of KVM_REQ_EVENT.
> This actually masked the issue fixed in the previous patch.
> 
> The fourth patch fixes an issue of not always syncing PIR to L1
> Virtual-APIC-Page when KVM_REQ_EVENT is signaled. This patch relies
> on vmx_check_nested_events() always being called when KVM_REQ_EVENT is
> set which is true since the second patch.

With all the discussions on the other series, I didn't reply here.  I
haven't commented yet because I want to see first of all whether we have
coverage in kvm-unit-tests of the issue that the first two patches fix
(i.e., does something break in kvm-unit-tests if I only apply patch 3).

Also, I had some incomplete work that eliminates
vmx_inject_page_fault_nested (which IMO is only papering over bugs,
because anything it does should be covered in theory by
nested_vmx_inject_exception_vmexit).  I'm curious if patches 1-2 help
there too.

However, all this is going to be work for 4.16.

Paolo



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux