[PATCH 0/6] PCI: leak fixes, removable generic PCI host, assorted stuff

Jan Kiszka jan.kiszka at siemens.com
Tue Apr 24 08:13:36 PDT 2018


This primarily enables to unbind the generic PCI host controller without
leaving lots of memory leaks behind. A previous proposal patch 5 was
rejected because of those issues [1].

The fixes have been validated in the Jailhouse setup, where we add and
remove a virtual PCI host controller on hypervisor activation/
deactivation, with the help of kmemleak.

Besides that, there is tiny PCI API cleanup at the beginning and
support for manually enabled PCI domains at the end that enables the
Jailhouse scenario.

Jan

[1] http://lkml.iu.edu/hypermail/linux/kernel/1606.3/00072.html


CC: Jingoo Han <jingoohan1 at gmail.com>
CC: Joao Pinto <Joao.Pinto at synopsys.com>
CC: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
CC: Will Deacon <will.deacon at arm.com>

Jan Kiszka (6):
  PCI: Make pci_get_new_domain_nr static
  PCI: Fix memory leak of devm_pci_alloc_host_bridge
  PCI: Introduce devm_of_pci_get_host_bridge_resources
  PCI: Convert of_pci_get_host_bridge_resources users to devm variant
  PCI: Add support for unbinding the generic PCI host controller
  arm: Allow to enable PCI_DOMAINS manually

 arch/arm/Kconfig                       |  7 ++-
 drivers/pci/dwc/pcie-designware-host.c |  2 +-
 drivers/pci/host/pci-aardvark.c        |  5 +-
 drivers/pci/host/pci-ftpci100.c        |  4 +-
 drivers/pci/host/pci-host-common.c     | 13 +++++
 drivers/pci/host/pci-host-generic.c    |  1 +
 drivers/pci/host/pci-v3-semi.c         |  3 +-
 drivers/pci/host/pci-versatile.c       |  3 +-
 drivers/pci/host/pci-xgene.c           |  3 +-
 drivers/pci/host/pcie-altera.c         |  5 +-
 drivers/pci/host/pcie-iproc-platform.c |  4 +-
 drivers/pci/host/pcie-rcar.c           |  5 +-
 drivers/pci/host/pcie-rockchip.c       |  4 +-
 drivers/pci/host/pcie-xilinx-nwl.c     |  4 +-
 drivers/pci/host/pcie-xilinx.c         |  4 +-
 drivers/pci/of.c                       | 93 ++++++++++++++++++++++------------
 drivers/pci/pci.c                      |  6 +--
 drivers/pci/probe.c                    |  4 +-
 include/linux/of_pci.h                 | 14 ++++-
 include/linux/pci-ecam.h               |  1 +
 include/linux/pci.h                    |  3 --
 21 files changed, 120 insertions(+), 68 deletions(-)

-- 
2.13.6




More information about the linux-arm-kernel mailing list