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: Wed, 29 Feb 2012 15:07:31 -0800 From: Yinghai Lu <yinghai@...nel.org> To: Jesse Barnes <jbarnes@...tuousgeek.org>, Benjamin Herrenschmidt <benh@...nel.crashing.org>, Tony Luck <tony.luck@...el.com>, David Miller <davem@...emloft.net>, x86 <x86@...nel.org> Cc: Bjorn Helgaas <bhelgaas@...gle.com>, Dominik Brodowski <linux@...inikbrodowski.net>, linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org, Yinghai Lu <yinghai@...nel.org> Subject: [PATCH 32/39] PCI: Strict checking of valid range for bridge children bridges busn range should be able to be allocated from parent bus range. to avoid overlapping between sibling bridges on same bus. Signed-off-by: Yinghai Lu <yinghai@...nel.org> --- drivers/pci/probe.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index c540022..5c031f0 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -801,6 +801,30 @@ reduce_needed_size: return ret; } +static int __devinit pci_bridge_check_busn_broken(struct pci_bus *bus, + struct pci_dev *dev, + int secondary, int subordinate) +{ + int broken = 0; + + struct resource busn_res; + int ret; + + memset(&busn_res, 0, sizeof(struct resource)); + dev_printk(KERN_DEBUG, &dev->dev, + "check if busn %02x-%02x is in busn_res: %pR\n", + secondary, subordinate, &bus->busn_res); + ret = allocate_resource(&bus->busn_res, &busn_res, + (subordinate - secondary + 1), + secondary, subordinate, + 1, NULL, NULL); + if (ret) + broken = 1; + else + release_resource(&busn_res); + + return broken; +} /* * If it's a bridge, configure it and scan the bus behind it. * For CardBus bridges, we don't scan behind as the devices will -- 1.7.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists