Message ID | 20250113021301.18962-1-yan.y.zhao@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: TDX SEPT SEAMCALL retry | expand |
On 1/13/2025 10:13 AM, Yan Zhao wrote: > Return -EBUSY instead of -EAGAIN when tdh_mem_sept_add() encounters any err > of TDX_OPERAND_BUSY. > > Signed-off-by: Yan Zhao <yan.y.zhao@intel.com> > --- > arch/x86/kvm/vmx/tdx.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c > index 09677a4cd605..4fb9faca5db2 100644 > --- a/arch/x86/kvm/vmx/tdx.c > +++ b/arch/x86/kvm/vmx/tdx.c > @@ -1740,8 +1740,9 @@ int tdx_sept_link_private_spt(struct kvm *kvm, gfn_t gfn, > > err = tdh_mem_sept_add(to_kvm_tdx(kvm)->tdr_pa, gpa, tdx_level, hpa, &entry, > &level_state); > - if (unlikely(err == TDX_ERROR_SEPT_BUSY)) > - return -EAGAIN; > + if (unlikely(err & TDX_OPERAND_BUSY)) Some issue here as mentioned in the previous patch. > + return -EBUSY; > + > if (KVM_BUG_ON(err, kvm)) { > pr_tdx_error_2(TDH_MEM_SEPT_ADD, err, entry, level_state); > return -EIO;
diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c index 09677a4cd605..4fb9faca5db2 100644 --- a/arch/x86/kvm/vmx/tdx.c +++ b/arch/x86/kvm/vmx/tdx.c @@ -1740,8 +1740,9 @@ int tdx_sept_link_private_spt(struct kvm *kvm, gfn_t gfn, err = tdh_mem_sept_add(to_kvm_tdx(kvm)->tdr_pa, gpa, tdx_level, hpa, &entry, &level_state); - if (unlikely(err == TDX_ERROR_SEPT_BUSY)) - return -EAGAIN; + if (unlikely(err & TDX_OPERAND_BUSY)) + return -EBUSY; + if (KVM_BUG_ON(err, kvm)) { pr_tdx_error_2(TDH_MEM_SEPT_ADD, err, entry, level_state); return -EIO;
Return -EBUSY instead of -EAGAIN when tdh_mem_sept_add() encounters any err of TDX_OPERAND_BUSY. Signed-off-by: Yan Zhao <yan.y.zhao@intel.com> --- arch/x86/kvm/vmx/tdx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)