]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/pci-sysfs.c
PCI: fix range check on mmapped sysfs resource files
[linux-2.6-omap-h63xx.git] / drivers / pci / pci-sysfs.c
index 110022d7868976a5bf2885737f5bdddf175aa372..5d72866897a8afc3397fe7b599b74de64eecbe22 100644 (file)
@@ -575,7 +575,7 @@ static int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct
 
        nr = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
        start = vma->vm_pgoff;
-       size = pci_resource_len(pdev, resno) >> PAGE_SHIFT;
+       size = ((pci_resource_len(pdev, resno) - 1) >> PAGE_SHIFT) + 1;
        if (start < size && size - start >= nr)
                return 1;
        WARN(1, "process \"%s\" tried to map 0x%08lx-0x%08lx on %s BAR %d (size 0x%08lx)\n",