Re: [PATCH] x86/virt/tdx: Make TDX host depend on X86_MCE

From: kirill . shutemov
Date: Wed Dec 13 2023 - 18:26:30 EST


On Thu, Dec 14, 2023 at 11:28:25AM +1300, Kai Huang wrote:
> A build failure was reported that when INTEL_TDX_HOST is enabled but
> X86_MCE is not, the tdx_dump_mce_info() function fails to link:
>
> ld: vmlinux.o: in function `tdx_dump_mce_info':
> ...: undefined reference to `mce_is_memory_error'
> ...: undefined reference to `mce_usable_address'
>
> The reason is in such configuration, despite there's no caller of
> tdx_dump_mce_info() it is still built and there's no implementation for
> the two "mce_*()" functions.
>
> Make INTEL_TDX_HOST depend on X86_MCE to fix.
>
> It makes sense to enable MCE support for the TDX host anyway. Because
> the only way that TDX has to report integrity errors is an MCE, and it
> is not good to silently ignore such MCE. The TDX spec also suggests
> the host VMM is expected to implement the MCE handler.
>
> Note it also makes sense to make INTEL_TDX_HOST select X86_MCE but this
> generates "recursive dependency detected!" error in the Kconfig.
>
> Reported-by: Arnd Bergmann <arnd@xxxxxxxxxx>
> Closes: https://lore.kernel.org/all/20231212214612.GHZXjUpBFa1IwVMTI7@fat_crate.local/T/
> Fixes: 70060463cb2b ("x86/mce: Differentiate real hardware #MCs from TDX erratum ones")
> Link: https://lore.kernel.org/all/20231212214612.GHZXjUpBFa1IwVMTI7@fat_crate.local/T/#m1a109c29324b2bbd0b3b1d45c218012cd3a13be6
> Signed-off-by: Kai Huang <kai.huang@xxxxxxxxx>

Reviewed-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>

--
Kiryl Shutsemau / Kirill A. Shutemov