Re: [PATCH v2] pinctrl: generic: free maps on pinctrl_generic_to_map() failure
Linus Walleij <[email protected]> Wed, 29 Jul 2026 09:50:41 +0200
| Newsgroups | org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAD++jLmipYnkDJ+Ed4LM44zZYcqU_Q+D7BBTs-RdrY4pDCmjpw@mail.gmail.com> |
On Sat, Jul 25, 2026 at 4:22 AM <[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 pinctrl_generic_pins_function_dt_node_to_map()") > Signed-off-by: Surendra Singh Chouhan <[email protected]> This does not apply to the current "devel" branch in the pinctrl tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/log/?h=devel Please rebase (some things may be fixed already) and resend. Yours, Linus Walleij