summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorZhengchao Shao <shaozhengchao@huawei.com>2022-12-05 04:21:32 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-12-14 13:32:04 +0300
commit4be43e46c3f945fc7dd9e23c73a7a66927a3b814 (patch)
tree8816f0f12b2a864aac6366bd6d9e15b4e661c326 /drivers
parent8e3f9ac00956442ecfbdd4e6c5c731b8ab6f77a0 (diff)
downloadlinux-4be43e46c3f945fc7dd9e23c73a7a66927a3b814.tar.xz
net: dsa: sja1105: fix memory leak in sja1105_setup_devlink_regions()
[ Upstream commit 78a9ea43fc1a7c06a420b132d2d47cbf4344a5df ] When dsa_devlink_region_create failed in sja1105_setup_devlink_regions(), priv->regions is not released. Fixes: bf425b82059e ("net: dsa: sja1105: expose static config as devlink region") Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20221205012132.2110979-1-shaozhengchao@huawei.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/dsa/sja1105/sja1105_devlink.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/dsa/sja1105/sja1105_devlink.c b/drivers/net/dsa/sja1105/sja1105_devlink.c
index ec2ac91abcfa..8e3d185c8460 100644
--- a/drivers/net/dsa/sja1105/sja1105_devlink.c
+++ b/drivers/net/dsa/sja1105/sja1105_devlink.c
@@ -95,6 +95,8 @@ static int sja1105_setup_devlink_regions(struct dsa_switch *ds)
if (IS_ERR(region)) {
while (--i >= 0)
dsa_devlink_region_destroy(priv->regions[i]);
+
+ kfree(priv->regions);
return PTR_ERR(region);
}