Messages in this thread |  | | Date | Thu, 09 Jul 2020 13:00:59 +0100 | From | Marc Zyngier <> | Subject | Re: [PATCH] irqdomain/treewide: Keep firmware node unconditionally allocated |
| |
Hi Thomas,
Catching up on email...
On 2020-07-09 10:53, Thomas Gleixner wrote: > Quite some non OF/ACPI users of irqdomains allocate firmware nodes of > type > IRQCHIP_FWNODE_NAMED or IRQCHIP_FWNODE_NAMED_ID and free them right > after > creating the irqdomain. The only purpose of these FW nodes is to convey > name information. When this was introduced the core code did not store > the > pointer to the node in the irqdomain. A recent change stored the > firmware > node pointer in irqdomain for other reasons and missed to notice that > the > usage sites which do the alloc_fwnode/create_domain/free_fwnode > sequence > are broken by this. Storing a dangling pointer is dangerous itself, but > in > case that the domain is destroyed later on this leads to a double free. > > Remove the freeing of the firmware node after creating the irqdomain > from > all affected call sites to cure this. > > Fixes: 711419e504eb ("irqdomain: Add the missing assignment of > domain->fwnode for named fwnode") > Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > Cc: stable@vger.kernel.org
Urgh, that's pretty disastrous. My bad. Thanks a lot for having put this patch together.
Acked-by: Marc Zyngier <maz@kernel.org>
If you can take it directly into Linus' tree, that'd be greatly appreciated.
Thanks again,
M. -- Jazz is not dead. It just smells funny...
|  |