[RFC] misc: bcm-vk: avoid -Wflex-array-member-not-at-end warning

Gustavo A. R. Silva posted 1 patch 11 months ago
There is a newer version of this series
[RFC] misc: bcm-vk: avoid -Wflex-array-member-not-at-end warning
Posted by Gustavo A. R. Silva 11 months ago
Hi all,

I'm trying to fix the following warning:

drivers/misc/bcm-vk/bcm_vk.h:415:32: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

after a quick look, I don't see any code directly using the flexible
array `data[]`, so this patch should probably suffice:

diff --git a/drivers/misc/bcm-vk/bcm_vk.h b/drivers/misc/bcm-vk/bcm_vk.h
index 386884c2a263..9344c2366a4b 100644
--- a/drivers/misc/bcm-vk/bcm_vk.h
+++ b/drivers/misc/bcm-vk/bcm_vk.h
@@ -311,7 +311,6 @@ struct bcm_vk_peer_log {
        u32 wr_idx;
        u32 buf_size;
        u32 mask;
-       char data[];
 };

What do you think?

Thanks
--
Gustavo
Re: [RFC] misc: bcm-vk: avoid -Wflex-array-member-not-at-end warning
Posted by Scott Branden 11 months ago
Hi Gustavo,

On 2025-03-11 01:01, Gustavo A. R. Silva wrote:
> Hi all,
> 
> I'm trying to fix the following warning:
> 
> drivers/misc/bcm-vk/bcm_vk.h:415:32: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
> 
> after a quick look, I don't see any code directly using the flexible
> array `data[]`, so this patch should probably suffice:
> 
> diff --git a/drivers/misc/bcm-vk/bcm_vk.h b/drivers/misc/bcm-vk/bcm_vk.h
> index 386884c2a263..9344c2366a4b 100644
> --- a/drivers/misc/bcm-vk/bcm_vk.h
> +++ b/drivers/misc/bcm-vk/bcm_vk.h
> @@ -311,7 +311,6 @@ struct bcm_vk_peer_log {
>          u32 wr_idx;
>          u32 buf_size;
>          u32 mask;
> -       char data[];
>   };
> 
> What do you think?
If it is changed to data[0] does the warning go away?  If not, you could 
remove it or change the code to use it instead of the sizeof used to
calculate peer offset.
> 
> Thanks
> --
> Gustavo