On 22/11/24 19:29, Edgecombe, Rick P wrote: > On Fri, 2024-11-22 at 08:26 -0800, Dave Hansen wrote: >> On 11/21/24 12:14, Adrian Hunter wrote: >>> +u64 tdh_vp_enter(u64 tdvpr, struct tdx_module_args *args) >>> +{ >>> + args->rcx = tdvpr; >>> + >>> + return __seamcall_saved_ret(TDH_VP_ENTER, args); >>> +} >>> +EXPORT_SYMBOL_GPL(tdh_vp_enter); >> >> I made a similar comment on another series, but it stands here too: the >> typing of this wrappers really needs a closer look. Passing u64's around >> everywhere means zero type safety. >> >> Type safety is the reason that we have types like pte_t and pgprot_t in >> mm code even though they're really just longs (most of the time). >> >> I'd suggest keeping the tdx_td_page type as long as possible, probably >> until (for example) the ->rcx assignment, like this: >> >> args->rcx = td_page.pa; > > Any thoughts on the approach here to the type questions? > > https://lore.kernel.org/kvm/20241115202028.1585487-1-rick.p.edgecombe@xxxxxxxxx/ For tdh_vp_enter() we will just use the same approach for tdvpr, whatever that ends up being.