]> git.baikalelectronics.ru Git - kernel.git/commit
irqdomain/treewide: Free firmware node after domain removal
authorJon Derrick <jonathan.derrick@intel.com>
Tue, 21 Jul 2020 20:26:09 +0000 (14:26 -0600)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 22 Jul 2020 22:08:52 +0000 (00:08 +0200)
commit33d39de3b44d31836a6ea8075e80749568a1e3dd
tree116857764f140dc3a8c8cc9854777d3ba9028e4f
parent21d0a5cf950768933cb88e716f8a3bf1031bcec4
irqdomain/treewide: Free firmware node after domain removal

Commit 3aa1175876c8 ("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 b25678747d77 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: b25678747d77 ("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
arch/mips/pci/pci-xtalk-bridge.c
arch/x86/kernel/apic/io_apic.c
drivers/iommu/intel/irq_remapping.c
drivers/mfd/ioc3.c
drivers/pci/controller/vmd.c