KVM: SVM: use __GFP_ZERO instead of clear_page
authorMaxim Levitsky <mlevitsk@redhat.com>
Thu, 27 Aug 2020 17:11:41 +0000 (20:11 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 28 Sep 2020 11:57:11 +0000 (07:57 -0400)
Another small refactoring.

Suggested-by: Jim Mattson <jmattson@google.com>
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20200827171145.374620-5-mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/svm.c

index 535839cdcb567a83dd39bb54671268d5eff3155f..22886b1d9af77ab99a8ad82e5dd3680727282e18 100644 (file)
@@ -1190,11 +1190,11 @@ static int svm_create_vcpu(struct kvm_vcpu *vcpu)
        svm = to_svm(vcpu);
 
        err = -ENOMEM;
-       vmcb_page = alloc_page(GFP_KERNEL_ACCOUNT);
+       vmcb_page = alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO);
        if (!vmcb_page)
                goto out;
 
-       hsave_page = alloc_page(GFP_KERNEL_ACCOUNT);
+       hsave_page = alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO);
        if (!hsave_page)
                goto free_page1;
 
@@ -1209,7 +1209,6 @@ static int svm_create_vcpu(struct kvm_vcpu *vcpu)
                svm->avic_is_running = true;
 
        svm->nested.hsave = page_address(hsave_page);
-       clear_page(svm->nested.hsave);
 
        svm->msrpm = svm_vcpu_init_msrpm();
        if (!svm->msrpm)
@@ -1220,7 +1219,6 @@ static int svm_create_vcpu(struct kvm_vcpu *vcpu)
                goto free_page3;
 
        svm->vmcb = page_address(vmcb_page);
-       clear_page(svm->vmcb);
        svm->vmcb_pa = __sme_set(page_to_pfn(vmcb_page) << PAGE_SHIFT);
        svm->asid_generation = 0;
        init_vmcb(svm);