]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ipmi:ssif: Add check for kstrdup
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Mon, 19 Jun 2023 09:28:02 +0000 (17:28 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:48:19 +0000 (09:48 +0200)
[ Upstream commit c5586d0f711e9744d0cade39b0c4a2d116a333ca ]

Add check for the return value of kstrdup() and return the error
if it fails in order to avoid NULL pointer dereference.

Fixes: c4436c9149c5 ("ipmi_ssif: avoid registering duplicate ssif interface")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Message-Id: <20230619092802.35384-1-jiasheng@iscas.ac.cn>
Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/char/ipmi/ipmi_ssif.c

index 3b921c78ba083d9e96039a9d039ebca96931b52e..3b87a2726e9940f3bff46e46e512feee5c9ef95d 100644 (file)
@@ -1600,6 +1600,11 @@ static int ssif_add_infos(struct i2c_client *client)
        info->addr_src = SI_ACPI;
        info->client = client;
        info->adapter_name = kstrdup(client->adapter->name, GFP_KERNEL);
+       if (!info->adapter_name) {
+               kfree(info);
+               return -ENOMEM;
+       }
+
        info->binfo.addr = client->addr;
        list_add_tail(&info->link, &ssif_infos);
        return 0;