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 |
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)
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 --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)
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(+)