]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
xen/pci: Avoid -Wflex-array-member-not-at-end warning
authorGustavo A. R. Silva <gustavoars@kernel.org>
Wed, 21 Aug 2024 00:50:56 +0000 (18:50 -0600)
committerJuergen Gross <jgross@suse.com>
Fri, 13 Sep 2024 10:24:07 +0000 (12:24 +0200)
Use the `DEFINE_RAW_FLEX()` helper for an on-stack definition of
a flexible structure where the size of the flexible-array member
is known at compile-time, and refactor the rest of the code,
accordingly.

So, with this, fix the following warning:

drivers/xen/pci.c:48:55: 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: Kees Cook <kees@kernel.org>
Message-ID: <ZsU58MvoYEEqBHZl@elsanto>
Signed-off-by: Juergen Gross <jgross@suse.com>
drivers/xen/pci.c

index 72d4e3f193af1ba5f7ffd704cd353ac1abddfd4b..a2facd8f7e512f0b8df0e8b80b9d24d3b0744bc7 100644 (file)
@@ -44,15 +44,11 @@ static int xen_add_device(struct device *dev)
        }
 #endif
        if (pci_seg_supported) {
-               struct {
-                       struct physdev_pci_device_add add;
-                       uint32_t pxm;
-               } add_ext = {
-                       .add.seg = pci_domain_nr(pci_dev->bus),
-                       .add.bus = pci_dev->bus->number,
-                       .add.devfn = pci_dev->devfn
-               };
-               struct physdev_pci_device_add *add = &add_ext.add;
+               DEFINE_RAW_FLEX(struct physdev_pci_device_add, add, optarr, 1);
+
+               add->seg = pci_domain_nr(pci_dev->bus);
+               add->bus = pci_dev->bus->number;
+               add->devfn = pci_dev->devfn;
 
 #ifdef CONFIG_ACPI
                acpi_handle handle;