Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[deliverable/linux.git] / drivers / pci / rom.c
index 5a1a39df75a104f274fc68ea4acca5fca3ccdb20..9eaca39ef38d1ccca5829b708d23b800d52fae61 100644 (file)
@@ -92,6 +92,9 @@ size_t pci_get_rom_size(struct pci_dev *pdev, void __iomem *rom, size_t size)
                last_image = readb(pds + 21) & 0x80;
                length = readw(pds + 16);
                image += length * 512;
+               /* Avoid iterating through memory outside the resource window */
+               if (image > rom + size)
+                       break;
        } while (length && !last_image);
 
        /* never return a size larger than the PCI resource window */
This page took 0.029446 seconds and 5 git commands to generate.