Re: [PATCH v3] pinctrl: generic: free maps on pinctrl_generic_to_map() failure

Linus Walleij <[email protected]> Mon, 3 Aug 2026 09:45:04 +0200
Newsgroups org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel
Message-ID <CAD++jLmYviP9b1eTGws4qD6JSU42Sxmw5cSKTWZZGjqPa3TL2Q@mail.gmail.com>
On Wed, Jul 29, 2026 at 9:54=E2=80=AFAM <[email protected]> wrote:

> From: Surendra Singh Chouhan <[email protected]>
>
> pinctrl_generic_to_map() parses DT configuration and allocates pinctrl
> maps via pinctrl_utils_reserve_map().
>
> If subsequent steps (such as pinctrl_utils_add_map_mux(),
> pinctrl_generic_add_group(), pinconf_generic_parse_dt_config(), or
> pinctrl_utils_add_map_configs()) return an error, *maps may contain
> partially allocated map entries. Returning the error directly without
> freeing *maps leaks the allocated mapping memory across all drivers
> that rely on pinctrl_generic_to_map().
>
> Fix this by calling pinctrl_utils_free_map() and resetting *maps,
> *num_maps, and *num_reserved_maps in the error path of
> pinctrl_generic_to_map().
>
> Fixes: aaaf31be0426 ("pinctrl: extract pinctrl_generic_to_map() from pinc=
trl_generic_pins_function_dt_node_to_map()")
> Signed-off-by: Surendra Singh Chouhan <[email protected]>

Patch applied, thanks Surendra!

Yours,
Linus Walleij