drivers/infiniband/hw/hfi1/mad.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
-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(-)
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)
--
2.43.0
在 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)
© 2016 - 2025 Red Hat, Inc.