Thread (3 messages) 3 messages, 2 authors, 2021-02-09

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

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.
quoted hunk ↗ jump to hunk
--- 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help