diff mbox series

pinctrl: stm32: Add check for devm_kcalloc

Message ID 20231031080807.3600656-1-nichen@iscas.ac.cn (mailing list archive)
State New, archived
Headers show
Series pinctrl: stm32: Add check for devm_kcalloc | expand

Commit Message

Chen Ni Oct. 31, 2023, 8:08 a.m. UTC
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>
---
 drivers/pinctrl/stm32/pinctrl-stm32.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Valentin Caron Oct. 31, 2023, 10:09 a.m. UTC | #1
Hi Chen,

Thank you for your patch:

Acked-by: Valentin Caron <valentin.caron@foss.st.com>

Regards,
Valentin

On 10/31/23 09:08, Chen Ni wrote:
> 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>
> ---
>   drivers/pinctrl/stm32/pinctrl-stm32.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
> index a73385a431de..419eca49ccec 100644
> --- a/drivers/pinctrl/stm32/pinctrl-stm32.c
> +++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
> @@ -1378,6 +1378,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)
Linus Walleij Nov. 13, 2023, 2:12 p.m. UTC | #2
On Tue, Oct 31, 2023 at 9:09 AM Chen Ni <nichen@iscas.ac.cn> wrote:

> 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>

Patch applied.

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
index a73385a431de..419eca49ccec 100644
--- a/drivers/pinctrl/stm32/pinctrl-stm32.c
+++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
@@ -1378,6 +1378,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)