Re: [PATCH] pinctrl: renesas:fix possible null pointer dereference struct pinmux_range *
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2021-02-09 14:13:26
Also in:
linux-renesas-soc, lkml
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2021-02-09 14:13:26
Also in:
linux-renesas-soc, lkml
Hi Alex, Thanks for your patch! On Sun, Feb 7, 2021 at 4:08 PM [off-list ref] wrote:
From: Zhang Kun <redacted> The parameters of sh_pfc_enum_in_range() pinmux_range *r should be checked first for possible null ponter, especially when PINMUX_TYPE_FUNCTION as the pinmux_type was passed by sh_pfc_config_mux().
If pinmux_type in sh_pfc_config_mux() is PINMUX_TYPE_FUNCTION or
PINMUX_TYPE_GPIO, range is indeed NULL.
But as the call
in_range = sh_pfc_enum_in_range(enum_id, range);
is not done in case of these pinmux types, I don't see where the
problem is. What am I missing?
Signed-off-by: Zhang Kun <redacted>
As you picked up a patch from Zhang, you should add your own SoB here.
--- a/drivers/pinctrl/renesas/core.c +++ b/drivers/pinctrl/renesas/core.c@@ -128,6 +128,9 @@ int sh_pfc_get_pin_index(struct sh_pfc *pfc, unsigned int pin) static int sh_pfc_enum_in_range(u16 enum_id, const struct pinmux_range *r) { + if (!r) + return 0; + if (enum_id < r->begin) return 0;
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds