HSI: ssi_protocol: fix potential resource leak in ssip_pn_open()
authorJianglei Nie <niejianglei2021@163.com>
Mon, 5 Sep 2022 07:48:01 +0000 (15:48 +0800)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Tue, 20 Sep 2022 15:25:51 +0000 (17:25 +0200)
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>
drivers/hsi/clients/ssi_protocol.c

index 7aacb19..274ad84 100644 (file)
@@ -930,6 +930,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");