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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 22 Sep 2014 11:32:28 +0200 From: Robert Richter <rric@...nel.org> To: Liviu Dudau <Liviu.Dudau@....com>, Bjorn Helgaas <bhelgaas@...gle.com> Cc: Arnd Bergmann <arnd@...db.de>, Rob Herring <robh+dt@...nel.org>, Jason Gunthorpe <jgunthorpe@...idianresearch.com>, Benjamin Herrenschmidt <benh@...nel.crashing.org>, Catalin Marinas <catalin.marinas@....com>, Will Deacon <Will.Deacon@....com>, Russell King <linux@....linux.org.uk>, linux-pci <linux-pci@...r.kernel.org>, Linus Walleij <linus.walleij@...aro.org>, Tanmay Inamdar <tinamdar@....com>, Grant Likely <grant.likely@...retlab.ca>, Sinan Kaya <okaya@...eaurora.org>, Jingoo Han <jg1.han@...sung.com>, Kukjin Kim <kgene.kim@...sung.com>, Suravee Suthikulanit <suravee.suthikulpanit@....com>, linux-arch <linux-arch@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>, Device Tree ML <devicetree@...r.kernel.org>, LAKML <linux-arm-kernel@...ts.infradead.org>, Grant Likely <grant.likely@...aro.org>, Sunil Goutham <sunil.goutham@...iumnetworks.com> Subject: Re: [PATCH v11 08/10] OF: PCI: Add support for parsing PCI host bridge resources from DT On 18.09.14 02:30:23, Liviu Dudau wrote: > +int of_pci_get_host_bridge_resources(struct device_node *dev, > + unsigned char busno, unsigned char bus_max, > + struct list_head *resources, resource_size_t *io_base) > +{ > + struct resource *res; > + struct resource *bus_range; > + struct of_pci_range range; > + struct of_pci_range_parser parser; > + char range_type[4]; > + int err; > + > + if (!io_base) > + return -EINVAL; > + *io_base = OF_BAD_ADDR; This breaks for mem-mapped pci host controllers. The patch below fixes this. This series was tested with the fix on top for Cavium Thunder. Tested-by: Robert Richter <rrichter@...ium.com> -Robert >From e798af4fc2f664d1aff7e863489b8298f90e716e Mon Sep 17 00:00:00 2001 From: Robert Richter <rrichter@...ium.com> Date: Mon, 22 Sep 2014 10:46:01 +0200 Subject: [PATCH] OF: PCI: Fix creation of mem-mapped pci host bridges The pci host bridge was not created if io_base was not set when calling of_pci_get_host_bridge_resources(). This is esp. the case for mem-mapped io (IORESOURCE_MEM). This patch fixes this. Function parameter io_base is optional now. Signed-off-by: Robert Richter <rrichter@...ium.com> --- drivers/of/of_pci.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c index ffdb45ed8682..1f0e7c2505ee 100644 --- a/drivers/of/of_pci.c +++ b/drivers/of/of_pci.c @@ -182,9 +182,8 @@ int of_pci_get_host_bridge_resources(struct device_node *dev, char range_type[4]; int err; - if (!io_base) - return -EINVAL; - *io_base = OF_BAD_ADDR; + if (io_base) + *io_base = OF_BAD_ADDR; bus_range = kzalloc(sizeof(*bus_range), GFP_KERNEL); if (!bus_range) @@ -242,7 +241,7 @@ int of_pci_get_host_bridge_resources(struct device_node *dev, goto parse_failed; } - if (resource_type(res) == IORESOURCE_IO) { + if (io_base && resource_type(res) == IORESOURCE_IO) { if (*io_base != OF_BAD_ADDR) pr_warn("More than one I/O resource converted. CPU offset for old range lost!\n"); *io_base = range.cpu_addr; -- 2.1.0 -- 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