Message ID | c7619a3d3cbb36463531a7c73ccbde9db587986c.1710004509.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: SVM: Remove a useless zeroing of allocated memory | expand |
On Sat, Mar 09, 2024, Christophe JAILLET wrote: > Depending of the memory size needed, we clear or not the allocated memory. > This is not consistent. > > So remove the zeroing of the memory in the __vmalloc() case. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > This is just a guess. > > I don't know this code at all, but because of KVM, it is maybe safer to > clear the memory in both cases? > So, maybe it is better to use kzalloc() in the other path. Not zeroing should be totally fine, the array is only used to hold kernel pointers, if KVM leaks that state and/or accesses uninitialized data, we have bigger problems :-)
On Sat, 09 Mar 2024 18:15:45 +0100, Christophe JAILLET wrote: > Depending of the memory size needed, we clear or not the allocated memory. > This is not consistent. > > So remove the zeroing of the memory in the __vmalloc() case. Applied to kvm-x86 svm, with a massaged changelog to unequivocally state that not zeroing the memory is a-ok. Thanks! [1/1] KVM: SVM: Remove a useless zeroing of allocated memory https://github.com/kvm-x86/linux/commit/4710e4fc3e2a -- https://github.com/kvm-x86/linux/tree/next
diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index 722186601c03..afd9485bef5a 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -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);
Depending of the memory size needed, we clear or not the allocated memory. This is not consistent. So remove the zeroing of the memory in the __vmalloc() case. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- This is just a guess. I don't know this code at all, but because of KVM, it is maybe safer to clear the memory in both cases? So, maybe it is better to use kzalloc() in the other path. --- arch/x86/kvm/svm/sev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)