|
@@ -1792,8 +1792,10 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
|
|
|
if (vma->vm_flags & VM_PFNMAP) {
|
|
|
gpa_t gpa = mem->guest_phys_addr +
|
|
|
(vm_start - mem->userspace_addr);
|
|
|
- phys_addr_t pa = (vma->vm_pgoff << PAGE_SHIFT) +
|
|
|
- vm_start - vma->vm_start;
|
|
|
+ phys_addr_t pa;
|
|
|
+
|
|
|
+ pa = (phys_addr_t)vma->vm_pgoff << PAGE_SHIFT;
|
|
|
+ pa += vm_start - vma->vm_start;
|
|
|
|
|
|
/* IO region dirty page logging not allowed */
|
|
|
if (memslot->flags & KVM_MEM_LOG_DIRTY_PAGES)
|