Re: [PATCH 2/2] x86/virt/tdx: Print TDX module version during init

From: Edgecombe, Rick P
Date: Thu Jan 08 2026 - 15:24:59 EST


On Wed, 2026-01-07 at 17:31 -0700, Vishal Verma wrote:
> It is useful to print the TDX module version in dmesg logs. This allows
> for a quick spot check for whether the correct/expected TDX module is
> being loaded, and also creates a record for any future problems being
> investigated.
>

It is more then a spot check, it's the only way to know which version is loaded.

> This was also requested in [1].
>
> Include the version in the log messages during init, e.g.:
>
> virt/tdx: TDX module version: 1.5.24
> virt/tdx: 1034220 KB allocated for PAMT
> virt/tdx: module initialized
>
> ..followed by remaining TDX initialization messages (or errors).

The TDX initialization errors would be before "module initialized", right?

>
> Print the version early in init_tdx_module(), right after the global
> metadata is read, which makes it available even if there are subsequent
> initialization failures.
>
> Based on a patch by Kai Huang <kai.huang@xxxxxxxxx> [2]
>
> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx>
> Reviewed-by: Chao Gao <chao.gao@xxxxxxxxx>
> Cc: Chao Gao <chao.gao@xxxxxxxxx>
> Cc: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx>
> Cc: Kai Huang <kai.huang@xxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
> Link: https://lore.kernel.org/all/CAGtprH8eXwi-TcH2+-Fo5YdbEwGmgLBh9ggcDvd6N=bsKEJ_WQ@xxxxxxxxxxxxxx/ # [1]
> Link: https://lore.kernel.org/all/6b5553756f56a8e3222bfc36d0bdb3e5192137b7.1731318868.git.kai.huang@xxxxxxxxx # [2]
> ---
> arch/x86/virt/vmx/tdx/tdx.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/x86/virt/vmx/tdx/tdx.c b/arch/x86/virt/vmx/tdx/tdx.c
> index 5ce4ebe99774..fba00ddc11f1 100644
> --- a/arch/x86/virt/vmx/tdx/tdx.c
> +++ b/arch/x86/virt/vmx/tdx/tdx.c
> @@ -1084,6 +1084,11 @@ static int init_tdx_module(void)
> if (ret)
> return ret;
>
> + pr_info("Module version: %u.%u.%02u\n",
> + tdx_sysinfo.version.major_version,
> + tdx_sysinfo.version.minor_version,
> + tdx_sysinfo.version.update_version);
> +
> /* Check whether the kernel can support this module */
> ret = check_features(&tdx_sysinfo);
> if (ret)
>