Re: [PATCH v2 06/17] x86/virt/tdx: Re-initialize the extensions on runtime TDX module update
From: Edgecombe, Rick P
Date: Mon Jul 27 2026 - 14:40:56 EST
Chao,
On Thu, 2026-06-18 at 16:13 +0800, Xu Yilun wrote:
> +static int update_tdx_module_extensions(void)
> +{
> + struct tdx_sys_info_ext sysinfo_ext;
> + int ret;
> +
> + if (!(tdx_sysinfo.features.tdx_features0 & TDX_FEATURES0_EXT))
> + return 0;
> +
> + ret = get_tdx_sys_info_ext(&sysinfo_ext);
> + if (ret)
> + return ret;
> +
> + if (!sysinfo_ext.ext_required)
> + return 0;
> +
> + if (sysinfo_ext.memory_pool_required_pages)
> + return -EFAULT;
> +
> + return tdx_ext_init();
> +}
> +
These update and init functions are looking very similar, any idea how the could
be combined?
static __init int init_tdx_module_extensions(void)
{
struct tdx_sys_info_ext sysinfo_ext;
int ret;
if (!(tdx_sysinfo.features.tdx_features0 & TDX_FEATURES0_EXT))
return 0;
ret = get_tdx_sys_info_ext(&sysinfo_ext);
if (ret)
return ret;
/* Skip if no feature requires TDX module extensions. */
if (!sysinfo_ext.ext_required)
return 0;
ret = tdx_ext_mem_setup(sysinfo_ext.memory_pool_required_pages);
if (ret)
return ret;
return tdx_ext_init();
}