summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/stm32
diff options
context:
space:
mode:
authorChen Ni <nichen@iscas.ac.cn>2023-10-31 08:08:07 +0000
committerLinus Walleij <linus.walleij@linaro.org>2023-11-13 15:12:29 +0100
commitb0eeba527e704d6023a6cd9103f929226e326b03 (patch)
treec7fdc7a185143a619e72e25d6f8ed3d09dba0c0d /drivers/pinctrl/stm32
parentb85ea95d086471afb4ad062012a4d73cd328fa86 (diff)
downloadlinux-stable-b0eeba527e704d6023a6cd9103f929226e326b03.tar.gz
linux-stable-b0eeba527e704d6023a6cd9103f929226e326b03.tar.bz2
linux-stable-b0eeba527e704d6023a6cd9103f929226e326b03.zip
pinctrl: stm32: Add check for devm_kcalloc
Add check for the return value of devm_kcalloc() and return the error if it fails in order to avoid NULL pointer dereference. Fixes: 32c170ff15b0 ("pinctrl: stm32: set default gpio line names using pin names") Signed-off-by: Chen Ni <nichen@iscas.ac.cn> Acked-by: Valentin Caron <valentin.caron@foss.st.com> Link: https://lore.kernel.org/r/20231031080807.3600656-1-nichen@iscas.ac.cn Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/stm32')
-rw-r--r--drivers/pinctrl/stm32/pinctrl-stm32.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
index 64e8201c7eac..3a9c458d3fc9 100644
--- a/drivers/pinctrl/stm32/pinctrl-stm32.c
+++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
@@ -1368,6 +1368,11 @@ static int stm32_gpiolib_register_bank(struct stm32_pinctrl *pctl, struct fwnode
}
names = devm_kcalloc(dev, npins, sizeof(char *), GFP_KERNEL);
+ if (!names) {
+ err = -ENOMEM;
+ goto err_clk;
+ }
+
for (i = 0; i < npins; i++) {
stm32_pin = stm32_pctrl_get_desc_pin_from_gpio(pctl, bank, i);
if (stm32_pin && stm32_pin->pin.name)