diff mbox series

[v2,01/23] interconnect: fix mem leak when freeing nodes

Message ID 20230306075651.2449-2-johan+linaro@kernel.org (mailing list archive)
State Not Applicable
Headers show
Series interconnect: fix racy provider registration | expand

Commit Message

Johan Hovold March 6, 2023, 7:56 a.m. UTC
The node link array is allocated when adding links to a node but is not
deallocated when nodes are destroyed.

Fixes: 11f1ceca7031 ("interconnect: Add generic on-chip interconnect API")
Cc: stable@vger.kernel.org      # 5.1
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/interconnect/core.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Luca Ceresoli March 7, 2023, 9:42 a.m. UTC | #1
Hello Johan,

thanks for respinning.

On Mon,  6 Mar 2023 08:56:29 +0100
Johan Hovold <johan+linaro@kernel.org> wrote:

> The node link array is allocated when adding links to a node but is not
> deallocated when nodes are destroyed.
> 
> Fixes: 11f1ceca7031 ("interconnect: Add generic on-chip interconnect API")
> Cc: stable@vger.kernel.org      # 5.1
> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

[Tested on i.MX8MP using an MSC SM2-MB-EP1 Board]
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
diff mbox series

Patch

diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
index 0f392f59b135..5217f449eeec 100644
--- a/drivers/interconnect/core.c
+++ b/drivers/interconnect/core.c
@@ -850,6 +850,10 @@  void icc_node_destroy(int id)
 
 	mutex_unlock(&icc_lock);
 
+	if (!node)
+		return;
+
+	kfree(node->links);
 	kfree(node);
 }
 EXPORT_SYMBOL_GPL(icc_node_destroy);