KVM: SVM: Remove a useless zeroing of allocated memory
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 9 Mar 2024 17:15:45 +0000 (18:15 +0100)
committerSean Christopherson <seanjc@google.com>
Tue, 9 Apr 2024 17:15:30 +0000 (10:15 -0700)
Remove KVM's unnecessary zeroing of memory when allocating the pages array
in sev_pin_memory() via __vmalloc(), as the array is only used to hold
kernel pointers.  The kmalloc() path for "small" regions doesn't zero the
array, and if KVM leaks state and/or accesses uninitialized data, then the
kernel has bigger problems.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/c7619a3d3cbb36463531a7c73ccbde9db587986c.1710004509.git.christophe.jaillet@wanadoo.fr
[sean: massage changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/sev.c

index 61a7531d41b019a7f263b9c4e02ccfdf960dd09f..759581bb2128da1829b52e854329b6151147c9f8 100644 (file)
@@ -434,7 +434,7 @@ static struct page **sev_pin_memory(struct kvm *kvm, unsigned long uaddr,
        /* Avoid using vmalloc for smaller buffers. */
        size = npages * sizeof(struct page *);
        if (size > PAGE_SIZE)
-               pages = __vmalloc(size, GFP_KERNEL_ACCOUNT | __GFP_ZERO);
+               pages = __vmalloc(size, GFP_KERNEL_ACCOUNT);
        else
                pages = kmalloc(size, GFP_KERNEL_ACCOUNT);