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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 19 Apr 2019 12:47:35 -0500
From:   Bjorn Helgaas <helgaas@...nel.org>
To:     YueHaibing <yuehaibing@...wei.com>
Cc:     lorenzo.pieralisi@....com, kishon@...com, robh@...nel.org,
        l.stach@...gutronix.de, andrew.smirnov@...il.com,
        linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH] PCI: keystone: Fix build error while only
 CONFIG_PCI_KEYSTONE is set

On Fri, Apr 19, 2019 at 09:46:39PM +0800, YueHaibing wrote:
> On 2019/4/19 21:31, Bjorn Helgaas wrote:
> > On Fri, Apr 19, 2019 at 10:58:55AM +0800, Yue Haibing wrote:
> >> From: YueHaibing <yuehaibing@...wei.com>
> >>
> >> During randconfig builds, I occasionally run into an invalid configuration
> >>
> >> drivers/pci/controller/dwc/pci-keystone.o: In function `ks_pcie_link_up':
> >> pci-keystone.c:(.text+0x90): undefined reference to `__dw_pcie_read_dbi'
> >> pci-keystone.c:(.text+0x90): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__dw_pcie_read_dbi'
> >> drivers/pci/controller/dwc/pci-keystone.o: In function `ks_pcie_v3_65_scan_bus':
> >> pci-keystone.c:(.text+0x4f0): undefined reference to `__dw_pcie_write_dbi'
> >> pci-keystone.c:(.text+0x4f0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__dw_pcie_write_dbi'
> >>
> >> while CONFIG_PCI_KEYSTONE is selected but CONFIG_PCIE_DW
> >> is not set, the building failed like this. This patch
> >> selects PCIE_DW to fix it.
> >>
> >> Reported-by: Hulk Robot <hulkci@...wei.com>
> >> Fixes: 5709114f0a97 ("PCI: keystone: Add support for PCIe EP in AM654x Platforms")
> >> Signed-off-by: YueHaibing <yuehaibing@...wei.com>
> >> ---
> >>  drivers/pci/controller/dwc/Kconfig | 1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
> >> index b450ad2..641fa0f 100644
> >> --- a/drivers/pci/controller/dwc/Kconfig
> >> +++ b/drivers/pci/controller/dwc/Kconfig
> >> @@ -105,6 +105,7 @@ config PCIE_SPEAR13XX
> >>  config PCI_KEYSTONE
> >>  	bool "TI Keystone PCIe controller"
> >>  	depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST)
> >> +	select PCIE_DW
> > 
> > What version are you building?  In v5.0, PCI_KEYSTONE already selects
> > PCIE_DW_HOST:
> > 
> > $ git grep -A4 PCI_KEYSTONE v5.0:drivers/pci/controller/dwc/Kconfig | cat
> > v5.0:drivers/pci/controller/dwc/Kconfig:config PCI_KEYSTONE
> > v5.0:drivers/pci/controller/dwc/Kconfig-	bool "TI Keystone PCIe controller"
> > v5.0:drivers/pci/controller/dwc/Kconfig-	depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST)
> > v5.0:drivers/pci/controller/dwc/Kconfig-	depends on PCI_MSI_IRQ_DOMAIN
> > v5.0:drivers/pci/controller/dwc/Kconfig-	select PCIE_DW_HOST
> > 08:30:42 ~/history (master)$
> 
> This patch based on linux-next:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=5709114f0a97

Oh, yep, looks like this was broken by ad5ca801bd7e ("PCI: keystone:
Add support for PCIe EP in AM654x Platforms"), which added
PCI_KEYSTONE_HOST and PCI_KEYSTONE_EP.  Those select PCIE_DW_HOST and
PCIE_DW_EP, respectively, which in turn select PCIE_DW.

But I guess it's possible to enable PCI_KEYSTONE by itself without
either PCI_KEYSTONE_HOST or PCI_KEYSTONE_EP.  I'm not sure what that
would mean, but we would still try to build pci-keystone.o

I'm hoping we can amend that commit before the merge window.

Bjorn

Powered by blists - more mailing lists