]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iommufd/iommufd_private.h: Avoid -Wflex-array-member-not-at-end warning
authorGustavo A. R. Silva <gustavoars@kernel.org>
Mon, 10 Nov 2025 11:35:31 +0000 (20:35 +0900)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 21 Nov 2025 19:38:27 +0000 (15:38 -0400)
-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 corresponding
structure. Notice that struct iommufd_vevent is a flexible
structure, this is a structure that contains a flexible-array
member.

Fix the following warning:

drivers/iommu/iommufd/iommufd_private.h:621:31: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

Link: https://patch.msgid.link/r/aRHOAwpATIE0oajj@kspp
Signed-off-by: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Fixes: e36ba5ab808e ("iommufd: Add IOMMUFD_OBJ_VEVENTQ and IOMMUFD_CMD_VEVENTQ_ALLOC")
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/iommufd/iommufd_private.h

index 627f9b78483a0ea874ca22f65b9466318c869814..85d0843ed07b0ba6ead4de74d505000bc12cd474 100644 (file)
@@ -614,7 +614,6 @@ struct iommufd_veventq {
        struct iommufd_eventq common;
        struct iommufd_viommu *viommu;
        struct list_head node; /* for iommufd_viommu::veventqs */
-       struct iommufd_vevent lost_events_header;
 
        enum iommu_veventq_type type;
        unsigned int depth;
@@ -622,6 +621,9 @@ struct iommufd_veventq {
        /* Use common.lock for protection */
        u32 num_events;
        u32 sequence;
+
+       /* Must be last as it ends in a flexible-array member. */
+       struct iommufd_vevent lost_events_header;
 };
 
 static inline struct iommufd_veventq *