Sorry, I should have said that I am on linux-next at the start. > > -static u8 pci_cap_length[] = { > > +static u8 pci_cap_length[PCI_CAP_ID_MAX + 1] = { > > [PCI_CAP_ID_BASIC] = PCI_STD_HEADER_SIZEOF, /* pci config header */ > > [PCI_CAP_ID_PM] = PCI_PM_SIZEOF, > > [PCI_CAP_ID_AGP] = PCI_AGP_SIZEOF, > > This doesn't make a whole lot of sense to me. The last entry we define > is: > > [PCI_CAP_ID_AF] = PCI_CAP_AF_SIZEOF, Yes. > }; > > and PCI_CAP_ID_MAX is defined as: > > #define PCI_CAP_ID_MAX PCI_CAP_ID_AF No. I am on linux-next and we appear to have added a new element beyond PCI_CAP_ID_AF. #define PCI_CAP_ID_AF 0x13 /* PCI Advanced Features */ #define PCI_CAP_ID_EA 0x14 /* PCI Enhanced Allocation */ #define PCI_CAP_ID_MAX PCI_CAP_ID_EA > > So the array is implicitly sized to PCI_CAP_ID_MAX + 1 already, this > doesn't make it any larger. In linux-next it makes it larger. But also explicitly using PCI_CAP_ID_MAX + 1 is cleaner as well as fixing the bug in case we add more elements later again. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html