On 11/3/21 15:05, Emanuele Giuseppe Esposito wrote:
Note that in svm_set_nested_state() we want to cache the L2 save state only if we are in normal non guest mode, because otherwise it is not touched.
I think that call to nested_copy_vmcb_save_to_cache is not necessary at all, because svm->nested.save is not used afterwards and is not valid after VMRUN.
The relevant checks have already been done before: if (!(vcpu->arch.efer & EFER_SVME)) { /* GIF=1 and no guest mode are required if SVME=0. */ if (kvm_state->flags != KVM_STATE_NESTED_GIF_SET) return -EINVAL; } ... /* * Processor state contains L2 state. Check that it is * valid for guest mode (see nested_vmcb_check_save). */ cr0 = kvm_read_cr0(vcpu); if (((cr0 & X86_CR0_CD) == 0) && (cr0 & X86_CR0_NW)) goto out_free; (and all other checks are done by KVM_SET_SREGS, KVM_SET_DEBUGREGS etc.) Paolo