]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - mm/internal.h
Merge tag 'pci-v4.11-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
[mirror_ubuntu-bionic-kernel.git] / mm / internal.h
index 8ab72f4374e046e604cc7c5f15049f960f1b864e..ccfc2a2969f4402bdbfb27e0b48df151f4da68b7 100644 (file)
@@ -335,12 +335,15 @@ __vma_address(struct page *page, struct vm_area_struct *vma)
 static inline unsigned long
 vma_address(struct page *page, struct vm_area_struct *vma)
 {
-       unsigned long address = __vma_address(page, vma);
+       unsigned long start, end;
+
+       start = __vma_address(page, vma);
+       end = start + PAGE_SIZE * (hpage_nr_pages(page) - 1);
 
        /* page should be within @vma mapping range */
-       VM_BUG_ON_VMA(address < vma->vm_start || address >= vma->vm_end, vma);
+       VM_BUG_ON_VMA(end < vma->vm_start || start >= vma->vm_end, vma);
 
-       return address;
+       return max(start, vma->vm_start);
 }
 
 #else /* !CONFIG_MMU */