Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 248bdd5e authored by Kees Cook's avatar Kees Cook Committed by Linus Torvalds
Browse files

pci: fix unterminated pci_device_id lists



Fix a couple drivers that do not correctly terminate their pci_device_id
lists.  This results in garbage being spewed into modules.pcimap when the
module happens to not have 28 NULL bytes following the table, and/or the
last PCI ID is actually truncated from the table when calculating the
modules.alias PCI aliases, cause those unfortunate device IDs to not
auto-load.

Signed-off-by: default avatarKees Cook <kees@ubuntu.com>
Acked-by: default avatarCorey Minyard <minyard@acm.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Acked-by: default avatarJeff Garzik <jeff@garzik.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4191ba26
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2215,7 +2215,8 @@ static int ipmi_pci_resume(struct pci_dev *pdev)

static struct pci_device_id ipmi_pci_devices[] = {
	{ PCI_DEVICE(PCI_HP_VENDOR_ID, PCI_MMC_DEVICE_ID) },
	{ PCI_DEVICE_CLASS(PCI_ERMC_CLASSCODE, PCI_ERMC_CLASSCODE_MASK) }
	{ PCI_DEVICE_CLASS(PCI_ERMC_CLASSCODE, PCI_ERMC_CLASSCODE_MASK) },
	{ 0, }
};
MODULE_DEVICE_TABLE(pci, ipmi_pci_devices);

+1 −0
Original line number Diff line number Diff line
@@ -1081,6 +1081,7 @@ struct usb_device_id usbvision_table [] = {
	{ USB_DEVICE(0x2304, 0x0301), .driver_info=PINNA_LINX_VD_IN_CAB_PAL },
	{ USB_DEVICE(0x2304, 0x0419), .driver_info=PINNA_PCTV_BUNGEE_PAL_FM },
	{ USB_DEVICE(0x2400, 0x4200), .driver_info=HPG_WINTV },
	{ },    /* terminate list */
};

MODULE_DEVICE_TABLE (usb, usbvision_table);
+2 −1
Original line number Diff line number Diff line
@@ -816,7 +816,8 @@ static void __devexit cafe_nand_remove(struct pci_dev *pdev)
}

static struct pci_device_id cafe_nand_tbl[] = {
	{ 0x11ab, 0x4100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MEMORY_FLASH << 8, 0xFFFF0 }
	{ 0x11ab, 0x4100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MEMORY_FLASH << 8, 0xFFFF0 },
	{ 0, }
};

MODULE_DEVICE_TABLE(pci, cafe_nand_tbl);