lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 28 Oct 2008 14:44:11 +0800 From: Yu Zhao <yu.zhao@...el.com> To: Eric Dumazet <dada1@...mosbay.com>, benli@...adcom.com Cc: "willy@...ux.intel.com" <willy@...ux.intel.com>, "jbarnes@...tuousgeek.org" <jbarnes@...tuousgeek.org>, linux kernel <linux-kernel@...r.kernel.org>, Linux Netdev List <netdev@...r.kernel.org>, Michael Chan <mchan@...adcom.com> Subject: Re: [PATCH] PCI: Limit VPD length for Broadcom 5708S On Tue, Oct 28, 2008 at 02:21:19PM +0800, Eric Dumazet wrote: > Benjamin Li a écrit : > > Hi Eric, > > > > It looks like the same problem again: we are reading past a valid VPD > > address. > > > > After some initial debugging, it looks like dev->vpd is NULL when the > > Broadcom 5706C/5706S/5708C/570S/5709 quirk is called. Because of this > > dev->vpd->len is never set to the proper length to limit the VPD reads. > > I will debug further to determine what has changed. > > > > Thanks again for pointing out the problem. > > > > I did a git bisect this morning : > > $ git bisect good > 201de56eb22f1ff3f36804bc70cbff220b50f067 is first bad commit > commit 201de56eb22f1ff3f36804bc70cbff220b50f067 > Author: Zhao, Yu <yu.zhao@...el.com> > Date: Mon Oct 13 19:49:55 2008 +0800 > > PCI: centralize the capabilities code in probe.c > > This patch centralizes the initialization and release functions of > various PCI capabilities in probe.c, which makes the introduction > of new capability support functions cleaner in the future. > > Signed-off-by: Yu Zhao <yu.zhao@...el.com> > Signed-off-by: Jesse Barnes <jbarnes@...tuousgeek.org> > Yes, the VPD initialization code has been moved to a later stage that is after the pci_fixup_header. Can you please try following fix? Thanks, Yu VPD quirks needs to be called after the capability is initialized. Since VPD initialization is move to after pci_fixup_header, VPD quirks should be done at pci_fixup_final stage correspondingly. Signed-off-by: Yu Zhao <yu.zhao@...el.com> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index bbf66ea..5049a47 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1692,24 +1692,24 @@ static void __devinit quirk_brcm_570x_limit_vpd(struct pci_dev *dev) } } -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, - PCI_DEVICE_ID_NX2_5706, - quirk_brcm_570x_limit_vpd); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, - PCI_DEVICE_ID_NX2_5706S, - quirk_brcm_570x_limit_vpd); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, - PCI_DEVICE_ID_NX2_5708, - quirk_brcm_570x_limit_vpd); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, - PCI_DEVICE_ID_NX2_5708S, - quirk_brcm_570x_limit_vpd); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, - PCI_DEVICE_ID_NX2_5709, - quirk_brcm_570x_limit_vpd); -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, - PCI_DEVICE_ID_NX2_5709S, - quirk_brcm_570x_limit_vpd); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, + PCI_DEVICE_ID_NX2_5706, + quirk_brcm_570x_limit_vpd); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, + PCI_DEVICE_ID_NX2_5706S, + quirk_brcm_570x_limit_vpd); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, + PCI_DEVICE_ID_NX2_5708, + quirk_brcm_570x_limit_vpd); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, + PCI_DEVICE_ID_NX2_5708S, + quirk_brcm_570x_limit_vpd); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, + PCI_DEVICE_ID_NX2_5709, + quirk_brcm_570x_limit_vpd); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, + PCI_DEVICE_ID_NX2_5709S, + quirk_brcm_570x_limit_vpd); #ifdef CONFIG_PCI_MSI /* Some chipsets do not support MSI. We cannot easily rely on setting -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists