]> git.baikalelectronics.ru Git - kernel.git/commitdiff
KVM: x86: Use "new" memslot instead of userspace memory region
authorSean Christopherson <seanjc@google.com>
Mon, 6 Dec 2021 19:54:16 +0000 (20:54 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 8 Dec 2021 09:24:23 +0000 (04:24 -0500)
Get the number of pages directly from the new memslot instead of
computing the same from the userspace memory region when allocating
memslot metadata.  This will allow a future patch to drop @mem.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Message-Id: <ef44892eb615f5c28e682bbe06af96aff9ce2a9f.1638817639.git.maciej.szmigiero@oracle.com>

arch/x86/kvm/x86.c

index 287ff4e43a13eae870f384edcb90eb06f5ffb52f..2a7567adb79995b6e64b6c88f63f1d650575fee3 100644 (file)
@@ -11593,9 +11593,9 @@ int memslot_rmap_alloc(struct kvm_memory_slot *slot, unsigned long npages)
 }
 
 static int kvm_alloc_memslot_metadata(struct kvm *kvm,
-                                     struct kvm_memory_slot *slot,
-                                     unsigned long npages)
+                                     struct kvm_memory_slot *slot)
 {
+       unsigned long npages = slot->npages;
        int i, r;
 
        /*
@@ -11680,8 +11680,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
                                   enum kvm_mr_change change)
 {
        if (change == KVM_MR_CREATE || change == KVM_MR_MOVE)
-               return kvm_alloc_memslot_metadata(kvm, new,
-                                                 mem->memory_size >> PAGE_SHIFT);
+               return kvm_alloc_memslot_metadata(kvm, new);
 
        if (change == KVM_MR_FLAGS_ONLY)
                memcpy(&new->arch, &old->arch, sizeof(old->arch));