diff mbox series

pinctrl: Add check for kcalloc

Message ID 20220710154822.2610801-1-williamsukatube@163.com (mailing list archive)
State New, archived
Headers show
Series pinctrl: Add check for kcalloc | expand

Commit Message

williamsukatube@163.com July 10, 2022, 3:48 p.m. UTC
From: William Dean <williamsukatube@gmail.com>

As the potential failure of the kcalloc(),
it should be better to check it in order to
avoid the dereference of the NULL pointer.

Fixes: aa74c44be19c8 ("pinctrl: Add driver for Sunplus SP7021")
Reported-by: Hacash Robot <hacashRobot@santino.com>
Signed-off-by: William Dean <williamsukatube@gmail.com>
---
 drivers/pinctrl/sunplus/sppctl.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Linus Walleij July 11, 2022, 1:04 p.m. UTC | #1
On Sun, Jul 10, 2022 at 5:48 PM <williamsukatube@163.com> wrote:

> From: William Dean <williamsukatube@gmail.com>
>
> As the potential failure of the kcalloc(),
> it should be better to check it in order to
> avoid the dereference of the NULL pointer.
>
> Fixes: aa74c44be19c8 ("pinctrl: Add driver for Sunplus SP7021")
> Reported-by: Hacash Robot <hacashRobot@santino.com>
> Signed-off-by: William Dean <williamsukatube@gmail.com>

Patch applied, tweaked the subject a bit,

Yours,
Linus Walleij
William Dean July 12, 2022, 8:06 a.m. UTC | #2
thx :)

Linus Walleij <linus.walleij@linaro.org> 于2022年7月11日周一 21:04写道:

>
> On Sun, Jul 10, 2022 at 5:48 PM <williamsukatube@163.com> wrote:
>
> > From: William Dean <williamsukatube@gmail.com>
> >
> > As the potential failure of the kcalloc(),
> > it should be better to check it in order to
> > avoid the dereference of the NULL pointer.
> >
> > Fixes: aa74c44be19c8 ("pinctrl: Add driver for Sunplus SP7021")
> > Reported-by: Hacash Robot <hacashRobot@santino.com>
> > Signed-off-by: William Dean <williamsukatube@gmail.com>
>
> Patch applied, tweaked the subject a bit,
>
> Yours,
> Linus Walleij
diff mbox series

Patch

diff --git a/drivers/pinctrl/sunplus/sppctl.c b/drivers/pinctrl/sunplus/sppctl.c
index 3ba47040ac42..2b3335ab56c6 100644
--- a/drivers/pinctrl/sunplus/sppctl.c
+++ b/drivers/pinctrl/sunplus/sppctl.c
@@ -871,6 +871,9 @@  static int sppctl_dt_node_to_map(struct pinctrl_dev *pctldev, struct device_node
 	}
 
 	*map = kcalloc(*num_maps + nmG, sizeof(**map), GFP_KERNEL);
+	if (*map == NULL)
+		return -ENOMEM;
+
 	for (i = 0; i < (*num_maps); i++) {
 		dt_pin = be32_to_cpu(list[i]);
 		pin_num = FIELD_GET(GENMASK(31, 24), dt_pin);