diff options
author | Claudiu Beznea <claudiu.beznea@microchip.com> | 2023-06-15 12:53:33 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2023-06-16 15:01:50 +0200 |
commit | f6fd5d4ff8ca0b24cee1af4130bcb1fa96b61aa0 (patch) | |
tree | 072df2c236c95218f539976177af5edc2e4788b7 /drivers/pinctrl | |
parent | pinctrl: microchip-sgpio: check return value of devm_kasprintf() (diff) | |
download | linux-f6fd5d4ff8ca0b24cee1af4130bcb1fa96b61aa0.tar.xz linux-f6fd5d4ff8ca0b24cee1af4130bcb1fa96b61aa0.zip |
pinctrl: at91-pio4: check return value of devm_kasprintf()
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: 776180848b57 ("pinctrl: introduce driver for Atmel PIO4 controller")
Depends-on: 1c4e5c470a56 ("pinctrl: at91: use devm_kasprintf() to avoid potential leaks")
Depends-on: 5a8f9cf269e8 ("pinctrl: at91-pio4: use proper format specifier for unsigned int")
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-4-claudiu.beznea@microchip.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/pinctrl-at91-pio4.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c index d402ac4b10db..5d360ba3abc2 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -1153,6 +1153,8 @@ static int atmel_pinctrl_probe(struct platform_device *pdev) /* Pin naming convention: P(bank_name)(bank_pin_number). */ pin_desc[i].name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "P%c%u", bank + 'A', line); + if (!pin_desc[i].name) + return -ENOMEM; group->name = group_names[i] = pin_desc[i].name; group->pin = pin_desc[i].number; |