Re: [PATCH v2] pinctrl: tb10x: Use flexible-array member and struct_size() helper

From: Linus Walleij
Date: Fri Jun 07 2019 - 19:29:16 EST


On Fri, Jun 7, 2019 at 1:11 AM Gustavo A. R. Silva
<gustavo@xxxxxxxxxxxxxx> wrote:

> Update the code to use a flexible array member instead of a pointer in
> structure tb10x_pinctrl and use the struct_size() helper:
>
> struct tb10x_pinctrl {
> ...
> struct tb10x_of_pinfunc pinfuncs[];
> };
>
> Also, make use of the struct_size() helper instead of an open-coded
> version in order to avoid any potential type mistakes.
>
> So, replace the following form:
>
> sizeof(struct tb10x_pinctrl) + of_get_child_count(of_node) * sizeof(struct tb10x_of_pinfunc)
>
> with:
>
> struct_size(state, pinfuncs, of_get_child_count(of_node))
>
> This code was detected with the help of Coccinelle.
>
> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
> Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
> ---
> Changes in v2:
> - Update changelog text.
> - Add Kees' Reviewed-by tag.

Patch applied.

Yours,
Linus Walleij