Re: [PATCH] pinctrl: imx: reset group index on probe
From: Linus Walleij
Date: Tue Oct 25 2016 - 05:10:14 EST
On Tue, Oct 18, 2016 at 11:09 PM, Stefan Agner <stefan@xxxxxxxx> wrote:
> Group index is incremented on every new group parsed. Since the
> field is part of struct imx_pinctrl_soc_info, which is typically
> a global variable passed by the individual pinctrl-imx.c based
> driver, it does not get cleared automatically when re-probing the
> driver. This lead imx_pinctrl_parse_functions passing a group
> pointer which is outside of the allocated group space on second
> probe and onwards. Typically this ended up in a NULL pointer
> dereference when accessing the name field like this:
> Unable to handle kernel NULL pointer dereference at virtual address 00000000
> ...
> PC is at strcmp+0x18/0x44
> LR is at imx_dt_node_to_map+0xc4/0x290
>
> Avoid this by setting group_index to 0 on probe.
>
> This has been observed when using DEBUG_TEST_DRIVER_REMOVE.
>
> Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
Patch applied for fixes.
Should it be tagged for stable too?
Yours,
Linus Walleij