OpenCloudOS-Kernel/drivers/pci/controller
Jon Derrick ec0160891e irqdomain/treewide: Free firmware node after domain removal
Commit 711419e504 ("irqdomain: Add the missing assignment of
domain->fwnode for named fwnode") unintentionally caused a dangling pointer
page fault issue on firmware nodes that were freed after IRQ domain
allocation. Commit e3beca48a4 fixed that dangling pointer issue by only
freeing the firmware node after an IRQ domain allocation failure. That fix
no longer frees the firmware node immediately, but leaves the firmware node
allocated after the domain is removed.

The firmware node must be kept around through irq_domain_remove, but should be
freed it afterwards.

Add the missing free operations after domain removal where where appropriate.

Fixes: e3beca48a4 ("irqdomain/treewide: Keep firmware node unconditionally allocated")
Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>	# drivers/pci
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/1595363169-7157-1-git-send-email-jonathan.derrick@intel.com
2020-07-23 00:08:52 +02:00
..
cadence Merge branch 'remotes/lorenzo/pci/rcar' 2020-06-04 12:59:18 -05:00
dwc Merge branch 'remotes/lorenzo/pci/tegra' 2020-06-04 12:59:19 -05:00
mobiveil PCI: Check for platform_get_irq() failure consistently 2020-05-12 08:14:43 -05:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile pci-v5.8-changes 2020-06-06 11:01:58 -07:00
pci-aardvark.c Merge branch 'remotes/lorenzo/pci/aardvark' 2020-06-04 12:59:14 -05:00
pci-ftpci100.c PCI: ftpci100: Use inbound resources for setup 2019-11-20 17:00:14 +00:00
pci-host-common.c PCI: host-generic: Eliminate pci_host_common_probe wrappers 2020-05-07 09:29:43 +01:00
pci-host-generic.c PCI: host-generic: Eliminate pci_host_common_probe wrappers 2020-05-07 09:29:43 +01:00
pci-hyperv-intf.c PCI: hv: Add a Hyper-V PCI interface driver for software backchannel interface 2019-08-22 00:25:12 -07:00
pci-hyperv.c pci-v5.8-changes 2020-06-06 11:01:58 -07:00
pci-loongson.c PCI: Add Loongson PCI Controller support 2020-05-27 12:52:30 +02:00
pci-mvebu.c PCI: mvebu: mvebu_pcie_map_registers __iomem fix 2019-10-17 11:02:47 +01:00
pci-rcar-gen2.c
pci-tegra.c PCI: tegra: Fix runtime PM imbalance on error 2020-06-01 09:58:59 +01:00
pci-thunder-ecam.c PCI: host-generic: Eliminate pci_host_common_probe wrappers 2020-05-07 09:29:43 +01:00
pci-thunder-pem.c PCI: host-generic: Eliminate pci_host_common_probe wrappers 2020-05-07 09:29:43 +01:00
pci-v3-semi.c Merge branch 'remotes/lorenzo/pci/v3-semi' 2020-06-04 12:59:19 -05:00
pci-versatile.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pci-xgene-msi.c
pci-xgene.c PCI: Constify struct pci_ecam_ops 2020-05-01 16:28:59 +01:00
pcie-altera-msi.c PCI: altera-msi: Allow building as module 2019-05-30 15:34:54 +01:00
pcie-altera.c PCI: altera: Clean up indentation issue on a return statement 2020-05-05 12:40:11 +01:00
pcie-brcmstb.c PCI: brcmstb: Wait for Raspberry Pi's firmware when present 2020-05-13 10:53:23 +01:00
pcie-iproc-bcma.c
pcie-iproc-msi.c PCI: iproc-msi: Fix __iomem annotation in decode_msi_hwirq() 2019-10-17 11:01:24 +01:00
pcie-iproc-platform.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pcie-iproc.c PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in 2019-12-12 17:21:36 -06:00
pcie-iproc.h PCI: iproc: Reject unconfigured physical functions from PAXC 2018-07-13 11:56:55 +01:00
pcie-mediatek.c PCI: Check for platform_get_irq() failure consistently 2020-05-12 08:14:43 -05:00
pcie-rcar-ep.c PCI: rcar: Add endpoint mode support 2020-05-22 12:35:32 +01:00
pcie-rcar-host.c PCI: rcar: Move shareable code to a common file 2020-05-11 11:29:47 +01:00
pcie-rcar.c PCI: rcar: Fix calculating mask for PCIEPAMR register 2020-05-11 11:29:48 +01:00
pcie-rcar.h PCI: rcar: Add endpoint mode support 2020-05-22 12:35:32 +01:00
pcie-rockchip-ep.c PCI: endpoint: Pass page size as argument to pci_epc_mem_init() 2020-05-11 11:29:48 +01:00
pcie-rockchip-host.c PCI: rockchip: Fix IO outbound ATU register number 2019-12-12 15:25:37 -06:00
pcie-rockchip.c
pcie-rockchip.h Merge branch 'remotes/lorenzo/pci/mmio-dma-ranges' 2019-11-28 08:54:53 -06:00
pcie-tango.c Merge branch 'remotes/lorenzo/pci/host-generic' 2020-06-04 12:59:16 -05:00
pcie-xilinx-nwl.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
pcie-xilinx.c PCI: of: Add inbound resource parsing to helpers 2019-11-20 16:59:58 +00:00
vmd.c irqdomain/treewide: Free firmware node after domain removal 2020-07-23 00:08:52 +02:00