>@@ -7743,6 +7744,9 @@ static void vmx_vcpu_after_set_cpuid(struct kvm_vcpu *vcpu) > vmx->msr_ia32_feature_control_valid_bits &= > ~FEAT_CTL_SGX_LC_ENABLED; > >+ if (guest_cpuid_has(vcpu, X86_FEATURE_LAM)) >+ vcpu->arch.cr3_ctrl_bits |= X86_CR3_LAM_U48 | X86_CR3_LAM_U57; This function can be called multiple times. We need to clear LAM bits if LAM isn't exposed to the guest, i.e., else vcpu->arch.cr3_ctrl_bits &= ~(X86_CR3_LAM_U48 | X86_CR3_LAM_U57); With this fixed, Reviewed-by: Chao Gao <chao.gao@xxxxxxxxx>