On Mon, 2024-02-26 at 00:26 -0800, isaku.yamahata@xxxxxxxxx wrote: > +fastpath_t tdx_vcpu_run(struct kvm_vcpu *vcpu) > +{ > + struct vcpu_tdx *tdx = to_tdx(vcpu); > + > + if (unlikely(!tdx->initialized)) > + return -EINVAL; > + if (unlikely(vcpu->kvm->vm_bugged)) { > + tdx->exit_reason.full = TDX_NON_RECOVERABLE_VCPU; > + return EXIT_FASTPATH_NONE; > + } > + Isaku, can you elaborate on why this needs special handling? There is a check in vcpu_enter_guest() like: if (kvm_check_request(KVM_REQ_VM_DEAD, vcpu)) { r = -EIO; goto out; } Instead it returns a SEAM error code for something actuated by KVM. But can it even be reached because of the other check? Not sure if there is a problem, just sticks out to me and wondering whats going on.