|
Takashi Iwai |
1a2b56 |
From ed14e5903638f6eb868e3e2b4e610985e6a6c876 Mon Sep 17 00:00:00 2001
|
|
Takashi Iwai |
1a2b56 |
From: Zhengchao Shao <shaozhengchao@huawei.com>
|
|
Takashi Iwai |
1a2b56 |
Date: Wed, 7 Dec 2022 09:50:01 +0800
|
|
Takashi Iwai |
1a2b56 |
Subject: [PATCH] net: thunderbolt: fix memory leak in tbnet_open()
|
|
Takashi Iwai |
1a2b56 |
Git-commit: ed14e5903638f6eb868e3e2b4e610985e6a6c876
|
|
Takashi Iwai |
1a2b56 |
Patch-mainline: v6.1
|
|
Takashi Iwai |
1a2b56 |
References: git-fixes
|
|
Takashi Iwai |
1a2b56 |
|
|
Takashi Iwai |
1a2b56 |
When tb_ring_alloc_rx() failed in tbnet_open(), ida that allocated in
|
|
Takashi Iwai |
1a2b56 |
tb_xdomain_alloc_out_hopid() is not released. Add
|
|
Takashi Iwai |
1a2b56 |
tb_xdomain_release_out_hopid() to the error path to release ida.
|
|
Takashi Iwai |
1a2b56 |
|
|
Takashi Iwai |
1a2b56 |
Fixes: 180b0689425c ("thunderbolt: Allow multiple DMA tunnels over a single XDomain connection")
|
|
Takashi Iwai |
1a2b56 |
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
|
|
Takashi Iwai |
1a2b56 |
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
|
|
Takashi Iwai |
1a2b56 |
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
|
|
Takashi Iwai |
1a2b56 |
Link: https://lore.kernel.org/r/20221207015001.1755826-1-shaozhengchao@huawei.com
|
|
Takashi Iwai |
1a2b56 |
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
Takashi Iwai |
1a2b56 |
Acked-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
1a2b56 |
|
|
Takashi Iwai |
1a2b56 |
---
|
|
Takashi Iwai |
1a2b56 |
drivers/net/thunderbolt.c | 1 +
|
|
Takashi Iwai |
1a2b56 |
1 file changed, 1 insertion(+)
|
|
Takashi Iwai |
1a2b56 |
|
|
Takashi Iwai |
1a2b56 |
--- a/drivers/net/thunderbolt.c
|
|
Takashi Iwai |
1a2b56 |
+++ b/drivers/net/thunderbolt.c
|
|
Takashi Iwai |
1a2b56 |
@@ -902,6 +902,7 @@ static int tbnet_open(struct net_device
|
|
Takashi Iwai |
1a2b56 |
tbnet_start_poll, net);
|
|
Takashi Iwai |
1a2b56 |
if (!ring) {
|
|
Takashi Iwai |
1a2b56 |
netdev_err(dev, "failed to allocate Rx ring\n");
|
|
Takashi Iwai |
1a2b56 |
+ tb_xdomain_release_out_hopid(xd, hopid);
|
|
Takashi Iwai |
1a2b56 |
tb_ring_free(net->tx_ring.ring);
|
|
Takashi Iwai |
1a2b56 |
net->tx_ring.ring = NULL;
|
|
Takashi Iwai |
1a2b56 |
return -ENOMEM;
|