Re: [PATCH] perf tools: Replace zero-length array with flexible-array member

From: Arnaldo Carvalho de Melo
Date: Fri Feb 18 2022 - 07:59:05 EST


Em Fri, Feb 18, 2022 at 03:13:52AM +0000, cgel.zte@xxxxxxxxx escreveu:
> From: Changcheng Deng <deng.changcheng@xxxxxxxxxx>
>
> There is a regular need in the kernel to provide a way to declare having
> a dynamically sized set of trailing elements in a structure. Kernel code
> should always use "flexible array members" for these cases. The older
> style of one-element or zero-length arrays should no longer be used.
> Reference:
> https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Changcheng Deng <deng.changcheng@xxxxxxxxxx>

You can't do that as this will break the build as explained in that
patch e-mail thread.

Adrian provided an alternative patch that I have to process.

Thanks for the patch anyway,

- Arnaldo

> ---
> tools/perf/util/event.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h
> index cdd72e05fd28..320cbcd5b902 100644
> --- a/tools/perf/util/event.h
> +++ b/tools/perf/util/event.h
> @@ -308,7 +308,7 @@ struct perf_synth_intel_evt {
> };
> u32 cfe;
> };
> - struct perf_synth_intel_evd evd[0];
> + struct perf_synth_intel_evd evd[];
> };
>
> struct perf_synth_intel_iflag_chg {
> --
> 2.25.1

--

- Arnaldo