Message ID | Z-WgwsCYIXaBxnvs@kspp (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [next] IB/hfi1: Avoid -Wflex-array-member-not-at-end warning | expand |
在 2025/3/27 20:02, Gustavo A. R. Silva 写道: > -Wflex-array-member-not-at-end was introduced in GCC-14, and we are > getting ready to enable it, globally. > > Move the conflicting declaration to the end of the structure. Notice > that `struct opa_mad_notice_attr` is a flexible structure --a structure > that contains a flexible-array member. > > Fix the following warning: > > drivers/infiniband/hw/hfi1/mad.c:23:36: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end] > > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev> Thanks, Zhu Yanjun > --- > drivers/infiniband/hw/hfi1/mad.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/hfi1/mad.c b/drivers/infiniband/hw/hfi1/mad.c > index b39f63ce6dfc..3f11a90819d1 100644 > --- a/drivers/infiniband/hw/hfi1/mad.c > +++ b/drivers/infiniband/hw/hfi1/mad.c > @@ -20,12 +20,14 @@ > > struct trap_node { > struct list_head list; > - struct opa_mad_notice_attr data; > __be64 tid; > int len; > u32 retry; > u8 in_use; > u8 repress; > + > + /* Must be last --ends in a flexible-array member. */ > + struct opa_mad_notice_attr data; > }; > > static int smp_length_check(u32 data_size, u32 request_len)
diff --git a/drivers/infiniband/hw/hfi1/mad.c b/drivers/infiniband/hw/hfi1/mad.c index b39f63ce6dfc..3f11a90819d1 100644 --- a/drivers/infiniband/hw/hfi1/mad.c +++ b/drivers/infiniband/hw/hfi1/mad.c @@ -20,12 +20,14 @@ struct trap_node { struct list_head list; - struct opa_mad_notice_attr data; __be64 tid; int len; u32 retry; u8 in_use; u8 repress; + + /* Must be last --ends in a flexible-array member. */ + struct opa_mad_notice_attr data; }; static int smp_length_check(u32 data_size, u32 request_len)
-Wflex-array-member-not-at-end was introduced in GCC-14, and we are getting ready to enable it, globally. Move the conflicting declaration to the end of the structure. Notice that `struct opa_mad_notice_attr` is a flexible structure --a structure that contains a flexible-array member. Fix the following warning: drivers/infiniband/hw/hfi1/mad.c:23:36: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end] Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> --- drivers/infiniband/hw/hfi1/mad.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)