summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJianglei Nie <niejianglei2021@163.com>2022-09-05 15:48:01 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-10-24 09:58:26 +0200
commit78b0ef14896f843c45372f9bbdb6f6070f977eaf (patch)
tree43919520aa6ea71f0e6fe8864629886f45b99df3
parent2d38886ae0365463cdba3db669170eef1e3d55c0 (diff)
downloadlinux-stable-78b0ef14896f843c45372f9bbdb6f6070f977eaf.tar.gz
linux-stable-78b0ef14896f843c45372f9bbdb6f6070f977eaf.zip
HSI: ssi_protocol: fix potential resource leak in ssip_pn_open()
[ Upstream commit b28dbcb379e6a7f80262c2732a57681b1ee548ca ] ssip_pn_open() claims the HSI client's port with hsi_claim_port(). When hsi_register_port_event() gets some error and returns a negetive value, the HSI client's port should be released with hsi_release_port(). Fix it by calling hsi_release_port() when hsi_register_port_event() fails. Signed-off-by: Jianglei Nie <niejianglei2021@163.com> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/hsi/clients/ssi_protocol.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c
index 21f11a5b965b..49ffd808d17f 100644
--- a/drivers/hsi/clients/ssi_protocol.c
+++ b/drivers/hsi/clients/ssi_protocol.c
@@ -931,6 +931,7 @@ static int ssip_pn_open(struct net_device *dev)
if (err < 0) {
dev_err(&cl->device, "Register HSI port event failed (%d)\n",
err);
+ hsi_release_port(cl);
return err;
}
dev_dbg(&cl->device, "Configuring SSI port\n");