[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200709214753.GA20422@bjorn-Precision-5520>
Date: Thu, 9 Jul 2020 16:47:53 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: Marc Zyngier <maz@...nel.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Jon Derrick <jonathan.derrick@...el.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
linux-pci@...r.kernel.org,
Sushma Kalakota <sushmax.kalakota@...el.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] irqdomain/treewide: Keep firmware node unconditionally
allocated
On Thu, Jul 09, 2020 at 11:53:06AM +0200, 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@...ux.intel.com>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> Cc: stable@...r.kernel.org
Acked-by: Bjorn Helgaas <bhelgaas@...gle.com> # drivers/pci/
Powered by blists - more mailing lists