On 2019-04-10 10:21 pm, Bjorn Helgaas wrote:
On Wed, Apr 10, 2019 at 10:49:01PM +0300, Dan Carpenter wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/enumeration
head: 60ea7f5dd97ed9949e6fbf67e93c9b2c38cc9eb7
commit: 60ea7f5dd97ed9949e6fbf67e93c9b2c38cc9eb7 [6/6] PCI: OF: Support "external-facing" property
smatch warnings:
drivers/pci/of.c:40 pci_set_bus_of_node() error: we previously assumed 'bus->self' could be null (see line 34)
Yep, that looks like a problem. I dropped these for now:
60ea7f5dd97e PCI: OF: Support "external-facing" property
6201cf80200c dt-bindings: Add "external-facing" PCIe port property
I guess we don't expect to see this property on the host bridge device
itself (hence the need to extend the DT description down to the root
port(s)), so in theory we should only crash here if the firmware got the
binding wrong, but I agree that's something definitely worth being
robust against.
Robin.
# https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?id=60ea7f5dd97ed9949e6fbf67e93c9b2c38cc9eb7
git remote add pci https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
git remote update pci
git checkout 60ea7f5dd97ed9949e6fbf67e93c9b2c38cc9eb7
vim +40 drivers/pci/of.c
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 31
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 32 void pci_set_bus_of_node(struct pci_bus *bus)
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 33 {
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 @34 if (bus->self == NULL)
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 35 bus->dev.of_node = pcibios_get_phb_of_node(bus);
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 36 else
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 37 bus->dev.of_node = of_node_get(bus->self->dev.of_node);
60ea7f5dd9 Jean-Philippe Brucker 2019-04-02 38
60ea7f5dd9 Jean-Philippe Brucker 2019-04-02 39 if (of_get_property(bus->dev.of_node, "external-facing", NULL))
60ea7f5dd9 Jean-Philippe Brucker 2019-04-02 @40 bus->self->untrusted = true;
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 41 }
98d9f30c82 Benjamin Herrenschmidt 2011-04-11 42
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation