Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> writes: > Changes since v2: > - 'KVM: nVMX: Use '-1' in 'hv_evmcs_vmptr' to indicate that eVMCS is not in > use'/ 'KVM: nVMX: Introduce 'EVMPTR_MAP_PENDING' post-migration state' > patches instead of 'KVM: nVMX: Introduce nested_evmcs_is_used()' [Paolo] > - 'KVM: nVMX: Don't set 'dirty_vmcs12' flag on enlightened VMPTRLD' patch > added [Max] > - 'KVM: nVMX: Release eVMCS when enlightened VMENTRY was disabled' patch > added. > - 'KVM: nVMX: Make copy_vmcs12_to_enlightened()/copy_enlightened_to_vmcs12() > return 'void'' patch added [Paolo] > - R-b tags added [Max] > > Original description: > > Commit f5c7e8425f18 ("KVM: nVMX: Always make an attempt to map eVMCS after > migration") fixed the most obvious reason why Hyper-V on KVM (e.g. Win10 > + WSL2) was crashing immediately after migration. It was also reported > that we have more issues to fix as, while the failure rate was lowered > signifincatly, it was still possible to observe crashes after several > dozens of migration. Turns out, the issue arises when we manage to issue > KVM_GET_NESTED_STATE right after L2->L2 VMEXIT but before L1 gets a chance > to run. This state is tracked with 'need_vmcs12_to_shadow_sync' flag but > the flag itself is not part of saved nested state. A few other less > significant issues are fixed along the way. > > While there's no proof this series fixes all eVMCS related problems, > Win10+WSL2 was able to survive 3333 (thanks, Max!) migrations without > crashing in testing. > > Patches are based on the current kvm/next tree. Paolo, Max, Just to double-check: are we good here? I know there are more improvements/ideas to explore but I'd like to treat this patchset as a set of fixes, it would be unfortunate if we miss 5.14. -- Vitaly