[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b7fd2ddf-77a4-423c-b5cf-36505997990d@linux.intel.com>
Date: Wed, 6 Nov 2024 18:11:29 +0800
From: Binbin Wu <binbin.wu@...ux.intel.com>
To: "Huang, Kai" <kai.huang@...el.com>
Cc: "seanjc@...gle.com" <seanjc@...gle.com>,
"Li, Xiaoyao" <xiaoyao.li@...el.com>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"yuan.yao@...ux.intel.com" <yuan.yao@...ux.intel.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Edgecombe, Rick P" <rick.p.edgecombe@...el.com>,
"Yamahata, Isaku" <isaku.yamahata@...el.com>
Subject: Re: [PATCH v3 1/2] KVM: x86: Check hypercall's exit to userspace
generically
On 11/6/2024 4:54 PM, Huang, Kai wrote:
> On Wed, 2024-11-06 at 16:32 +0800, Binbin Wu wrote:
>>> static void kvm_complete_hypercall_exit(struct kvm_vcpu *vcpu, int ret_reg,
>>> unsigned long ret, bool op_64_bit)
>>> {
>>> if (!op_64_bit)
>>> ret = (u32)ret;
>>> kvm_register_write_raw(vcpu, ret_reg, ret);
>>> ++vcpu->stat.hypercalls;
>>> }
>> If this is going to be the final version, it would be better to make it
>> public, and export the symbol, so that TDX code can reuse it.
> Does making it 'static inline' and moving to kvm_host.h work?
It doesn't have a complete definition of struct kvm_vcpu in
arch/x86/include/asm/kvm_host.h, and the code is dereferencing
struct kvm_vcpu.
Also, the definition of kvm_register_write_raw() is in
arch/x86/kvm/kvm_cache_regs.h, which make it difficult to be called
there.
>
> kvm_register_write_raw(), and kvm_register_mark_dirty() which is called by
> kvm_register_write_raw()), are both 'static inline'. Seems we can get rid of
> export by making it 'static inline'.
Powered by blists - more mailing lists