Re: [PATCH] pinctrl: s32cc: Remove const from groups allocation type
From: Ghennadi Procopciuc
Date: Fri Sep 25 2026 - 00:33:06 EST
On 9/18/2026 12:14 AM, Kees Cook wrote:
> From: Kees Cook <kees+treewide@xxxxxxxxxx>
>
> In preparation for making the devm_kmalloc family of allocators type
> aware, we need to make sure that the returned type from the allocation
> matches the type of the variable being assigned. (Before, the allocator
> would always return "void *", which can be implicitly cast to any
> pointer type.)
>
> The assigned type is "const char **", but the converted allocation type
> would be "const char * const *", as the size was taken from
> "*func->groups", whose type "const char * const" is const qualified. As
> there is no general way to remove const qualifiers, take the size from
> the assignment target instead. No change in allocation size results.
>
> Build tested ARCH=arm64 allmodconfig with GCC aarch64-linux-gnu 16.1.0:
> drivers/pinctrl/nxp/pinctrl-s32cc.o
>
> Assisted-by: LLM coccinelle
> Signed-off-by: Kees Cook <kees+treewide@xxxxxxxxxx>
> ---
> Cc: Chester Lin <chester62515@xxxxxxxxx>
> Cc: Matthias Brugger <mbrugger@xxxxxxxx>
> Cc: Ghennadi Procopciuc <ghennadi.procopciuc@xxxxxxxxxxx>
> Cc: NXP S32 Linux Team <s32@xxxxxxx>
> Cc: Dong Aisheng <aisheng.dong@xxxxxxx>
> Cc: Fabio Estevam <festevam@xxxxxxxxx>
> Cc: Frank Li <Frank.Li@xxxxxxx>
> Cc: Jacky Bai <ping.bai@xxxxxxx>
> Cc: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>
> Cc: Linus Walleij <linusw@xxxxxxxxxx>
> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
> Cc: <linux-gpio@xxxxxxxxxxxxxxx>
> ---
> drivers/pinctrl/nxp/pinctrl-s32cc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/nxp/pinctrl-s32cc.c b/drivers/pinctrl/nxp/pinctrl-s32cc.c
> index 4b40770a38b7..9c4ebae22674 100644
> --- a/drivers/pinctrl/nxp/pinctrl-s32cc.c
> +++ b/drivers/pinctrl/nxp/pinctrl-s32cc.c
> @@ -825,7 +825,7 @@ static int s32_pinctrl_parse_functions(struct device_node *np,
> "No groups defined in %pOF\n", np);
>
> groups = devm_kcalloc(info->dev, func->ngroups,
> - sizeof(*func->groups), GFP_KERNEL);
> + sizeof(*groups), GFP_KERNEL);
> if (!groups)
> return -ENOMEM;
>
> --
> 2.34.1
>
Reviewed-by: Ghennadi Procopciuc <ghennadi.procopciuc@xxxxxxxxxxx>
--
Regards,
Ghennadi