Re: [PATCH v1 4/8] x86/tdx: Add arch_has_restricted_memory_access for TDX

From: Kuppuswamy, Sathyanarayanan
Date: Thu Jun 03 2021 - 00:03:10 EST




On 6/2/21 5:41 PM, Andi Kleen wrote:
+int arch_has_restricted_virtio_memory_access(void)
+{
+ return is_tdx_guest();
+}
+EXPORT_SYMBOL_GPL(arch_has_restricted_virtio_memory_access);
+

This function definition had to be removed from arch/x86/mm/mem_encrypt.c.

Otherwise, if you enable both CONFIG_AMD_MEM_ENCRYPT,
CONFIG_X86_MEM_ENCRYPT_COMMON it will generate multiple definition error.

--- a/arch/x86/mm/mem_encrypt.c
+++ b/arch/x86/mm/mem_encrypt.c
@@ -493,9 +493,3 @@ void __init amd_mem_encrypt_init(void)

print_mem_encrypt_feature_info();
}
-
-int arch_has_restricted_virtio_memory_access(void)
-{
- return sev_active();
-}
-EXPORT_SYMBOL_GPL(arch_has_restricted_virtio_memory_access);

--- a/arch/x86/mm/mem_encrypt_common.c
+++ b/arch/x86/mm/mem_encrypt_common.c
@@ -40,7 +40,7 @@ void __init mem_encrypt_init(void)

int arch_has_restricted_virtio_memory_access(void)
{
- return is_tdx_guest();
+ return (is_tdx_guest() || sev_active());
}
EXPORT_SYMBOL_GPL(arch_has_restricted_virtio_memory_access);


--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer