Messages in this thread Patch in this message | | | From | Dexuan Cui <> | Subject | [PATCH] x86/sev: mem_encrypt_free_decrypted_mem(): encrypt the pages for AMD SME only | Date | Sun, 27 Nov 2022 17:28:52 -0800 |
| |
sme_postprocess_startup() marks the __start_bss_decrypted pages shared for AMD SME only, so here set_memory_encrypted() should be called for AMD SME only, i.e. don't call the set_memory_encrypted() for TDX, otherwise the error "failed to free unused decrypted pages" appears in 'dmesg'.
Fixes: b3f0907c71e0 ("x86/mm: Add .bss..decrypted section to hold shared variables") Signed-off-by: Dexuan Cui <decui@microsoft.com> --- arch/x86/mm/mem_encrypt_amd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/mm/mem_encrypt_amd.c b/arch/x86/mm/mem_encrypt_amd.c index 9c4d8dbcb129..fd9b58402a22 100644 --- a/arch/x86/mm/mem_encrypt_amd.c +++ b/arch/x86/mm/mem_encrypt_amd.c @@ -516,7 +516,7 @@ void __init mem_encrypt_free_decrypted_mem(void) * The unused memory range was mapped decrypted, change the encryption * attribute from decrypted to encrypted before freeing it. */ - if (cc_platform_has(CC_ATTR_MEM_ENCRYPT)) { + if (sme_me_mask && cc_platform_has(CC_ATTR_MEM_ENCRYPT)) { r = set_memory_encrypted(vaddr, npages); if (r) { pr_warn("failed to free unused decrypted pages\n"); -- 2.25.1
| |