[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac62541b-185a-47aa-86a7-d4425a98699d@intel.com>
Date: Wed, 11 Jun 2025 22:01:07 +0800
From: Xiaoyao Li <xiaoyao.li@...el.com>
To: Sean Christopherson <seanjc@...gle.com>,
Binbin Wu <binbin.wu@...ux.intel.com>
Cc: Rick P Edgecombe <rick.p.edgecombe@...el.com>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"mikko.ylinen@...ux.intel.com" <mikko.ylinen@...ux.intel.com>,
Kai Huang <kai.huang@...el.com>, Jiewen Yao <jiewen.yao@...el.com>,
Tony Lindgren <tony.lindgren@...el.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Reinette Chatre <reinette.chatre@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Yan Y Zhao <yan.y.zhao@...el.com>, Isaku Yamahata
<isaku.yamahata@...el.com>, Kirill Shutemov <kirill.shutemov@...el.com>
Subject: Re: [RFC PATCH 4/4] KVM: TDX: Check KVM exit on KVM_HC_MAP_GPA_RANGE
when TD finalize
On 6/11/2025 9:36 PM, Sean Christopherson wrote:
> On Wed, Jun 11, 2025, Binbin Wu wrote:
>> On 6/11/2025 3:58 AM, Sean Christopherson wrote:
>>> On Tue, Jun 10, 2025, Rick P Edgecombe wrote:
>>>> It seems like the reasoning could be just to shrink the possible configurations
>>>> KVM has to think about, and that we only have the option to do this now before
>>>> the ABI becomes harder to change.
>>>>
>>>> Did you need any QEMU changes as a result of this patch?
>>>>
>>>> Wait, actually I think the patch is wrong, because KVM_CAP_EXIT_HYPERCALL could
>>>> be called again after KVM_TDX_FINALIZE_VM. In which case userspace could get an
>>>> exit unexpectedly. So should we drop this patch?
>>> Yes, drop it.
>>>
>> So, when the TDX guest calls MapGPA and KVM finds userspace doesn't opt-in
>> KVM_HC_MAP_GPA_RANGE, just return error to userspace?
>
> Why can't KVM just do what it already does, and return an error to the guest?
Because GHCI requires it must be supported. No matter with the old GHCI
that only allows <GetTdVmCallInfo> to succeed and the success of
<GetTdVmCallInfo> means all the TDVMCALL leafs are support, or the
proposed updated GHCI that defines <MapGpa> as one of the base API/leaf,
and the base API must be supported by VMM.
Binbin wants to honor it.
> if (!user_exit_on_hypercall(vcpu->kvm, KVM_HC_MAP_GPA_RANGE)) {
> ret = TDVMCALL_STATUS_INVALID_OPERAND;
> goto error;
> }
Powered by blists - more mailing lists