swiotlb: do not zero buffer in set_memory_decrypted()
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Tue, 25 Jan 2022 13:20:01 +0000 (16:20 +0300)
committerChristoph Hellwig <hch@lst.de>
Wed, 26 Jan 2022 16:05:54 +0000 (17:05 +0100)
For larger TDX VM, memset() after set_memory_decrypted() in
swiotlb_update_mem_attributes() takes substantial portion of boot time.

Zeroing doesn't serve any functional purpose. Malicious VMM can mess
with decrypted/shared buffer at any point.

Remove the memset().

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
kernel/dma/swiotlb.c

index f1e7ea1..9390b38 100644 (file)
@@ -207,8 +207,6 @@ void __init swiotlb_update_mem_attributes(void)
        mem->vaddr = swiotlb_mem_remap(mem, bytes);
        if (!mem->vaddr)
                mem->vaddr = vaddr;
-
-       memset(mem->vaddr, 0, bytes);
 }
 
 static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,