]> git.hungrycats.org Git - linux/commitdiff
pinctrl: microchip-sgpio: check return value of devm_kasprintf()
authorClaudiu Beznea <claudiu.beznea@microchip.com>
Thu, 15 Jun 2023 10:53:32 +0000 (13:53 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jul 2023 17:39:48 +0000 (19:39 +0200)
[ Upstream commit 310cd4c206cd04696ccbfd1927b5ab6973e8cc8e ]

devm_kasprintf() returns a pointer to dynamically allocated memory.
Pointer could be NULL in case allocation fails. Check pointer validity.
Identified with coccinelle (kmerr.cocci script).

Fixes: 7e5ea974e61c ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230615105333.585304-3-claudiu.beznea@microchip.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/pinctrl-microchip-sgpio.c

index 4794602316e7dbff1cd9b2eccc2f138331bdf5ae..666d8b7cdbad3b98f2dd04dc2de375767e3bd07e 100644 (file)
@@ -818,6 +818,9 @@ static int microchip_sgpio_register_bank(struct device *dev,
        pctl_desc->name = devm_kasprintf(dev, GFP_KERNEL, "%s-%sput",
                                         dev_name(dev),
                                         bank->is_input ? "in" : "out");
+       if (!pctl_desc->name)
+               return -ENOMEM;
+
        pctl_desc->pctlops = &sgpio_pctl_ops;
        pctl_desc->pmxops = &sgpio_pmx_ops;
        pctl_desc->confops = &sgpio_confops;