On 23/11/2023 15:11, Kirill A. Shutemov wrote:
On Wed, Nov 22, 2023 at 06:01:06PM +0100, Jeremi Piotrowski wrote:
When CONFIG_INTEL_TDX_GUEST is not defined but CONFIG_UNACCEPTED_MEMORY=y is, the kernel fails to link with an undefined reference to tdx_accept_memory from arch_accept_memory. Provide a stub for tdx_accept_memory to fix the build for that configuration.
CONFIG_UNACCEPTED_MEMORY is also selected by CONFIG_AMD_MEM_ENCRYPT, and there are stubs for snp_accept_memory for when it is not defined. Previously this did not result in an error when CONFIG_INTEL_TDX_GUEST was not defined because the branch that references tdx_accept_memory() was being discarded due to DISABLE_TDX_GUEST being set.
And who unsets it now?
Who unsets what now? DISABLE_TDX_GUEST still works the same as before, but patch 2 changed the check in arch_accept_memory() to be more specific (cc_platform_has(CC_ATTR_TDX_MODULE_CALLS)). The stub should have been there all along for CONFIG_AMD_MEM_ENCRPYT=y && CONFIG_INTEL_TDX_GUEST=n configs, but it happened to work without it.