Re: [PATCH 0/2][next] firewire: Avoid -Wflex-array-member-not-at-end warnings
From: Takashi Sakamoto
Date: Tue Mar 05 2024 - 20:10:52 EST
Hi,
On Tue, Mar 05, 2024 at 11:24:15AM -0600, Gustavo A. R. Silva wrote:
> -Wflex-array-member-not-at-end is coming in GCC-14, and we are getting
> ready to enable it globally. So, we are deprecating flexible-array
> members in the middle of another struct.
>
> There are currently a couple of local structures (`u` and `template`)
> that are using a flexible `struct fw_iso_packet` as header for a couple
> of on-stack arrays.
>
> We make use of the `struct_group_tagged()` helper to separate the
> flexible array from the rest of the members in the flexible structure,
> and, with this, we can now declare objects of the type of the tagged
> struct, without embedding the flexible array in the middle of another
> struct.
>
> We also use `container_of()` whenever we need to retrieve a pointer to
> the flexible structure, through which the flexible-array member can be
> accessed.
>
> With these changes, we fix a couple of -Wflex-array-member-not-at-end
> warnings.
>
> Gustavo A. R. Silva (2):
> firewire: Avoid -Wflex-array-member-not-at-end warning
> ALSA: firewire-lib: Avoid -Wflex-array-member-not-at-end warning
>
> drivers/firewire/core-cdev.c | 9 +++++----
> include/linux/firewire.h | 16 +++++++++-------
> sound/firewire/amdtp-stream.c | 8 +++++---
> 3 files changed, 19 insertions(+), 14 deletions(-)
Thanks for the improvements, however we are mostly at the end of
development period for v6.8 kernel. Let me postpone applying the patches
until closing the next merge window (for v6.9), since we need the term to
evaluate the change. I mean that it goes to v6.10 kernel.
If you would like me to applying the patch v6.9 kernel, please inform it
to us.
Thanks
Takashi Sakamoto