get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/112298/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 112298,
    "url": "http://patches.dpdk.org/api/patches/112298/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20220603111625.562070-3-bruce.richardson@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20220603111625.562070-3-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220603111625.562070-3-bruce.richardson@intel.com",
    "date": "2022-06-03T11:16:23",
    "name": "[v4,2/4] drivers: replace zero-length arrays with undimensioned ones",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "c9b95a24127b0ac1a372aaa6763fdc4d4d4e7fa1",
    "submitter": {
        "id": 20,
        "url": "http://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "delegate": {
        "id": 24651,
        "url": "http://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20220603111625.562070-3-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 23318,
            "url": "http://patches.dpdk.org/api/series/23318/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=23318",
            "date": "2022-06-03T11:16:22",
            "name": "clean up zero-length arrays",
            "version": 4,
            "mbox": "http://patches.dpdk.org/series/23318/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/112298/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/112298/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 23EEAA055C;\n\tFri,  3 Jun 2022 13:16:46 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 0340F42B91;\n\tFri,  3 Jun 2022 13:16:37 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by mails.dpdk.org (Postfix) with ESMTP id 20C2642B8E\n for <dev@dpdk.org>; Fri,  3 Jun 2022 13:16:35 +0200 (CEST)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 03 Jun 2022 04:16:35 -0700",
            "from silpixa00401385.ir.intel.com (HELO\n silpixa00401385.ger.corp.intel.com) ([10.237.222.171])\n by orsmga008.jf.intel.com with ESMTP; 03 Jun 2022 04:16:33 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1654254996; x=1685790996;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=i0PtvumldAwpvVrHwcqbZKtO9rWSKFuA+TrRKCYQxPE=;\n b=N6lBs+dsY95ud+VGaKChoftOqhNnzINfwpQjDE0/9+9ZgydZQXJ6JP+9\n 7QiIlRzMBVxTUPb4xH+3fYYp3OpR0P8KbdReHwtQtFP4KJLbmyTAUX3Wa\n n3J5QD3o+Ycho3TyEkZ0TYdLmeoIIU4UpESJ+uf65EjNQcPnEpWKNy3TK\n ozsKNlDm8cov5gNv92G0Gw5soHTwKq4SQ4gBxeMUv+Hz+MI82NXtnZOTD\n T1qvYdgdiXHVdOF07K4VO35juf1tp6tQiI00/6ysAIJ0OGU8WzXXMsY2H\n xEGsbgepQ8X932JGriT2ES6QJpTjUYRQjVwrwrI95NuvPlXVvabpfddGz A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6400,9594,10366\"; a=\"275031094\"",
            "E=Sophos;i=\"5.91,274,1647327600\"; d=\"scan'208\";a=\"275031094\"",
            "E=Sophos;i=\"5.91,274,1647327600\"; d=\"scan'208\";a=\"607356412\""
        ],
        "X-ExtLoop1": "1",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "david.marchand@redhat.com, Bruce Richardson <bruce.richardson@intel.com>,\n\t=?utf-8?q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>,\n Stephen Hemminger <stephen@networkplumber.org>,\n Hemant Agrawal <hemant.agrawal@nxp.com>",
        "Subject": "[PATCH v4 2/4] drivers: replace zero-length arrays with undimensioned\n ones",
        "Date": "Fri,  3 Jun 2022 12:16:23 +0100",
        "Message-Id": "<20220603111625.562070-3-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20220603111625.562070-1-bruce.richardson@intel.com>",
        "References": "<20220602150834.643745-1-bruce.richardson@intel.com>\n <20220603111625.562070-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "This patch replaces instances of zero-sized arrays i.e. those at the end\nof structures with \"[0]\" with the more standard syntax of \"[]\".\nReplacement was done using coccinelle script, with some cleanup of\nwhitespace afterwards.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\nAcked-by: Morten Brørup <mb@smartsharesystems.com>\nAcked-by: Stephen Hemminger <stephen@networkplumber.org>\nAcked-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/bus/dpaa/include/netcfg.h             |  4 ++--\n drivers/bus/vmbus/rte_vmbus_reg.h             |  4 ++--\n drivers/common/cnxk/roc_se.h                  |  2 +-\n drivers/common/dpaax/dpaax_iova_table.h       |  2 +-\n drivers/common/mlx5/mlx5_prm.h                | 10 +++++-----\n drivers/crypto/ipsec_mb/ipsec_mb_private.h    |  4 ++--\n drivers/crypto/virtio/virtio_ring.h           |  4 ++--\n drivers/crypto/virtio/virtqueue.h             |  2 +-\n drivers/net/atlantic/hw_atl/hw_atl_utils.h    |  2 +-\n drivers/net/cxgbe/clip_tbl.h                  |  2 +-\n drivers/net/cxgbe/l2t.h                       |  2 +-\n drivers/net/cxgbe/mps_tcam.h                  |  2 +-\n drivers/net/cxgbe/smt.h                       |  2 +-\n drivers/net/enic/base/vnic_devcmd.h           |  2 +-\n drivers/net/hinic/hinic_pmd_tx.h              |  2 +-\n drivers/net/nfp/nfpcore/nfp_nsp.h             |  2 +-\n drivers/net/virtio/virtio_ring.h              |  4 ++--\n drivers/net/virtio/virtio_user/vhost_kernel.c |  2 +-\n drivers/net/virtio/virtio_user/vhost_vdpa.c   |  2 +-\n drivers/net/virtio/virtqueue.h                |  2 +-\n drivers/regex/mlx5/mlx5_rxp.h                 |  4 ++--\n 21 files changed, 31 insertions(+), 31 deletions(-)",
    "diff": "diff --git a/drivers/bus/dpaa/include/netcfg.h b/drivers/bus/dpaa/include/netcfg.h\nindex bb18a34e3d..43c7e1cfe1 100644\n--- a/drivers/bus/dpaa/include/netcfg.h\n+++ b/drivers/bus/dpaa/include/netcfg.h\n@@ -23,7 +23,7 @@ struct fm_eth_port_cfg {\n struct netcfg_info {\n \tuint8_t num_ethports;\n \t/**< Number of ports */\n-\tstruct fm_eth_port_cfg port_cfg[0];\n+\tstruct fm_eth_port_cfg port_cfg[];\n \t/**< Variable structure array of size num_ethports */\n };\n \n@@ -38,7 +38,7 @@ struct interface_info {\n struct netcfg_interface {\n \tuint8_t numof_netcfg_interface;\n \tuint8_t numof_fman_enabled_macless;\n-\tstruct interface_info interface_info[0];\n+\tstruct interface_info interface_info[];\n };\n \n /* pcd_file: FMC netpcd XML (\"policy\") file, that contains PCD information.\ndiff --git a/drivers/bus/vmbus/rte_vmbus_reg.h b/drivers/bus/vmbus/rte_vmbus_reg.h\nindex 8562672979..a17ce40763 100644\n--- a/drivers/bus/vmbus/rte_vmbus_reg.h\n+++ b/drivers/bus/vmbus/rte_vmbus_reg.h\n@@ -107,7 +107,7 @@ struct vmbus_bufring {\n \t * Ring data starts here + RingDataStartOffset\n \t * !!! DO NOT place any fields below this !!!\n \t */\n-\tuint8_t data[0];\n+\tuint8_t data[];\n } __rte_packed;\n \n /*\n@@ -140,7 +140,7 @@ vmbus_chanpkt_getlen(uint16_t pktlen)\n struct vmbus_gpa_range {\n \tuint32_t       len;\n \tuint32_t       ofs;\n-\tuint64_t       page[0];\n+\tuint64_t       page[];\n } __rte_packed;\n \n /* This is actually vmbus_gpa_range.gpa_page[1] */\ndiff --git a/drivers/common/cnxk/roc_se.h b/drivers/common/cnxk/roc_se.h\nindex 145a1825bd..a1d476a86d 100644\n--- a/drivers/common/cnxk/roc_se.h\n+++ b/drivers/common/cnxk/roc_se.h\n@@ -246,7 +246,7 @@ struct roc_se_buf_ptr {\n /* IOV Pointer */\n struct roc_se_iov_ptr {\n \tint buf_cnt;\n-\tstruct roc_se_buf_ptr bufs[0];\n+\tstruct roc_se_buf_ptr bufs[];\n };\n \n struct roc_se_fc_params {\ndiff --git a/drivers/common/dpaax/dpaax_iova_table.h b/drivers/common/dpaax/dpaax_iova_table.h\nindex b1f2300c52..9a18eafca0 100644\n--- a/drivers/common/dpaax/dpaax_iova_table.h\n+++ b/drivers/common/dpaax/dpaax_iova_table.h\n@@ -32,7 +32,7 @@ struct dpaax_iovat_element {\n \n struct dpaax_iova_table {\n \tunsigned int count; /**< No. of blocks of contiguous physical pages */\n-\tstruct dpaax_iovat_element entries[0];\n+\tstruct dpaax_iovat_element entries[];\n };\n \n /* Pointer to the table, which is common for DPAA/DPAA2 and only a single\ndiff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h\nindex bc3e70a1d1..654e5f44ee 100644\n--- a/drivers/common/mlx5/mlx5_prm.h\n+++ b/drivers/common/mlx5/mlx5_prm.h\n@@ -560,7 +560,7 @@ struct mlx5_umr_wqe {\n struct mlx5_rdma_write_wqe {\n \tstruct mlx5_wqe_cseg ctr;\n \tstruct mlx5_wqe_rseg rseg;\n-\tstruct mlx5_wqe_dseg dseg[0];\n+\tstruct mlx5_wqe_dseg dseg[];\n } __rte_packed;\n \n #ifdef PEDANTIC\n@@ -3479,7 +3479,7 @@ struct mlx5_ifc_qpc_pas_list_bits {\n #endif\n struct mlx5_ifc_qpc_extension_and_pas_list_bits {\n \tstruct mlx5_ifc_qpc_extension_bits qpc_data_extension;\n-\tu8 pas[0][0x40];\n+\tu8 pas[][0x40];\n };\n \n \n@@ -3703,7 +3703,7 @@ struct mlx5_ifc_query_qp_out_bits {\n \tu8 reserved_at_a0[0x20];\n \tstruct mlx5_ifc_qpc_bits qpc;\n \tu8 reserved_at_800[0x80];\n-\tu8 pas[0][0x40];\n+\tu8 pas[][0x40];\n };\n #ifdef PEDANTIC\n #pragma GCC diagnostic error \"-Wpedantic\"\n@@ -3743,7 +3743,7 @@ struct mlx5_ifc_access_register_out_bits {\n \tu8 reserved_at_8[0x18];\n \tu8 syndrome[0x20];\n \tu8 reserved_at_40[0x40];\n-\tu8 register_data[0][0x20];\n+\tu8 register_data[][0x20];\n };\n \n struct mlx5_ifc_access_register_in_bits {\n@@ -3754,7 +3754,7 @@ struct mlx5_ifc_access_register_in_bits {\n \tu8 reserved_at_40[0x10];\n \tu8 register_id[0x10];\n \tu8 argument[0x20];\n-\tu8 register_data[0][0x20];\n+\tu8 register_data[][0x20];\n };\n #ifdef PEDANTIC\n #pragma GCC diagnostic error \"-Wpedantic\"\ndiff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.h b/drivers/crypto/ipsec_mb/ipsec_mb_private.h\nindex e53101acf1..e2c240dfc0 100644\n--- a/drivers/crypto/ipsec_mb/ipsec_mb_private.h\n+++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.h\n@@ -120,7 +120,7 @@ struct ipsec_mb_dev_private {\n \t/**< PMD  type */\n \tuint32_t max_nb_queue_pairs;\n \t/**< Max number of queue pairs supported by device */\n-\t__extension__ uint8_t priv[0];\n+\t__extension__ uint8_t priv[];\n };\n \n /** IPSEC Multi buffer queue pair common queue pair data for all PMDs */\n@@ -147,7 +147,7 @@ struct ipsec_mb_qp {\n \t/* Multi buffer manager */\n \tconst struct rte_memzone *mb_mgr_mz;\n \t/* Shared memzone for storing mb_mgr */\n-\t__extension__ uint8_t additional_data[0];\n+\t__extension__ uint8_t additional_data[];\n \t/**< Storing PMD specific additional data */\n };\n \ndiff --git a/drivers/crypto/virtio/virtio_ring.h b/drivers/crypto/virtio/virtio_ring.h\nindex ee30674566..55839279fd 100644\n--- a/drivers/crypto/virtio/virtio_ring.h\n+++ b/drivers/crypto/virtio/virtio_ring.h\n@@ -40,7 +40,7 @@ struct vring_desc {\n struct vring_avail {\n \tuint16_t flags;\n \tuint16_t idx;\n-\tuint16_t ring[0];\n+\tuint16_t ring[];\n };\n \n /* id is a 16bit index. uint32_t is used here for ids for padding reasons. */\n@@ -54,7 +54,7 @@ struct vring_used_elem {\n struct vring_used {\n \tuint16_t flags;\n \tvolatile uint16_t idx;\n-\tstruct vring_used_elem ring[0];\n+\tstruct vring_used_elem ring[];\n };\n \n struct vring {\ndiff --git a/drivers/crypto/virtio/virtqueue.h b/drivers/crypto/virtio/virtqueue.h\nindex c96ca62992..cb08bea94f 100644\n--- a/drivers/crypto/virtio/virtqueue.h\n+++ b/drivers/crypto/virtio/virtqueue.h\n@@ -88,7 +88,7 @@ struct virtqueue {\n \n \tuint16_t  *notify_addr;\n \n-\tstruct vq_desc_extra vq_descx[0];\n+\tstruct vq_desc_extra vq_descx[];\n };\n \n /**\ndiff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils.h b/drivers/net/atlantic/hw_atl/hw_atl_utils.h\nindex d8fab010cf..12ac9b041e 100644\n--- a/drivers/net/atlantic/hw_atl/hw_atl_utils.h\n+++ b/drivers/net/atlantic/hw_atl/hw_atl_utils.h\n@@ -334,7 +334,7 @@ struct offload_info {\n \tstruct offload_port_info ports;\n \tstruct offload_ka_info kas;\n \tstruct offload_rr_info rrs;\n-\tu8 buf[0];\n+\tu8 buf[];\n } __rte_packed;\n \n struct smbus_request {\ndiff --git a/drivers/net/cxgbe/clip_tbl.h b/drivers/net/cxgbe/clip_tbl.h\nindex d7689f4b7a..3b2be6645f 100644\n--- a/drivers/net/cxgbe/clip_tbl.h\n+++ b/drivers/net/cxgbe/clip_tbl.h\n@@ -20,7 +20,7 @@ struct clip_tbl {\n \tunsigned int clipt_start;     /* start index of CLIP table */\n \tunsigned int clipt_size;      /* size of CLIP table */\n \trte_rwlock_t lock;            /* table rw lock */\n-\tstruct clip_entry cl_list[0]; /* MUST BE LAST */\n+\tstruct clip_entry cl_list[]; /* MUST BE LAST */\n };\n \n struct clip_tbl *t4_init_clip_tbl(unsigned int clipt_start,\ndiff --git a/drivers/net/cxgbe/l2t.h b/drivers/net/cxgbe/l2t.h\nindex 9845c9f981..e4c0ebedec 100644\n--- a/drivers/net/cxgbe/l2t.h\n+++ b/drivers/net/cxgbe/l2t.h\n@@ -37,7 +37,7 @@ struct l2t_data {\n \tunsigned int l2t_start;     /* start index of our piece of the L2T */\n \tunsigned int l2t_size;      /* number of entries in l2tab */\n \trte_rwlock_t lock;          /* table rw lock */\n-\tstruct l2t_entry l2tab[0];  /* MUST BE LAST */\n+\tstruct l2t_entry l2tab[];  /* MUST BE LAST */\n };\n \n #define L2T_LPBK\ttrue\ndiff --git a/drivers/net/cxgbe/mps_tcam.h b/drivers/net/cxgbe/mps_tcam.h\nindex a359f52442..363786bd38 100644\n--- a/drivers/net/cxgbe/mps_tcam.h\n+++ b/drivers/net/cxgbe/mps_tcam.h\n@@ -41,7 +41,7 @@ struct mpstcam_table {\n \t\t\t * free_idx cannot alone determine\n \t\t\t * if the table is full\n \t\t\t */\n-\tstruct mps_tcam_entry entry[0];\n+\tstruct mps_tcam_entry entry[];\n };\n \n struct mpstcam_table *t4_init_mpstcam(struct adapter *adap);\ndiff --git a/drivers/net/cxgbe/smt.h b/drivers/net/cxgbe/smt.h\nindex a70e3a2085..531810e695 100644\n--- a/drivers/net/cxgbe/smt.h\n+++ b/drivers/net/cxgbe/smt.h\n@@ -31,7 +31,7 @@ struct smt_data {\n \tunsigned int smt_size;\n \tunsigned int smt_start;\n \trte_rwlock_t lock;\n-\tstruct smt_entry smtab[0];\n+\tstruct smt_entry smtab[];\n };\n \n struct smt_data *t4_init_smt(u32 smt_start_idx, u32 smt_size);\ndiff --git a/drivers/net/enic/base/vnic_devcmd.h b/drivers/net/enic/base/vnic_devcmd.h\nindex 3157bc8cb5..253a791c3f 100644\n--- a/drivers/net/enic/base/vnic_devcmd.h\n+++ b/drivers/net/enic/base/vnic_devcmd.h\n@@ -997,7 +997,7 @@ enum {\n struct filter_tlv {\n \tuint32_t type;\n \tuint32_t length;\n-\tuint32_t val[0];\n+\tuint32_t val[];\n };\n \n /* Data for CMD_ADD_FILTER is 2 TLV and filter + action structs */\ndiff --git a/drivers/net/hinic/hinic_pmd_tx.h b/drivers/net/hinic/hinic_pmd_tx.h\nindex a3ec6299fb..152f7abc53 100644\n--- a/drivers/net/hinic/hinic_pmd_tx.h\n+++ b/drivers/net/hinic/hinic_pmd_tx.h\n@@ -81,7 +81,7 @@ struct hinic_sq_wqe {\n \tstruct hinic_sq_task\t\ttask;\n \n \t/* sq sge section start address, 1~127 sges */\n-\tstruct hinic_sq_bufdesc     buf_descs[0];\n+\tstruct hinic_sq_bufdesc     buf_descs[];\n };\n \n struct hinic_txq_stats {\ndiff --git a/drivers/net/nfp/nfpcore/nfp_nsp.h b/drivers/net/nfp/nfpcore/nfp_nsp.h\nindex e74cdeb191..2184c15b4c 100644\n--- a/drivers/net/nfp/nfpcore/nfp_nsp.h\n+++ b/drivers/net/nfp/nfpcore/nfp_nsp.h\n@@ -224,7 +224,7 @@ struct nfp_eth_table {\n \t\tint is_split;\n \n \t\tunsigned int fec_modes_supported;\n-\t} ports[0];\n+\t} ports[];\n };\n \n struct nfp_eth_table *nfp_eth_read_ports(struct nfp_cpp *cpp);\ndiff --git a/drivers/net/virtio/virtio_ring.h b/drivers/net/virtio/virtio_ring.h\nindex 17a56b0a73..e848c0b73b 100644\n--- a/drivers/net/virtio/virtio_ring.h\n+++ b/drivers/net/virtio/virtio_ring.h\n@@ -46,7 +46,7 @@ struct vring_desc {\n struct vring_avail {\n \tuint16_t flags;\n \tuint16_t idx;\n-\tuint16_t ring[0];\n+\tuint16_t ring[];\n };\n \n /* id is a 16bit index. uint32_t is used here for ids for padding reasons. */\n@@ -60,7 +60,7 @@ struct vring_used_elem {\n struct vring_used {\n \tuint16_t flags;\n \tuint16_t idx;\n-\tstruct vring_used_elem ring[0];\n+\tstruct vring_used_elem ring[];\n };\n \n /* For support of packed virtqueues in Virtio 1.1 the format of descriptors\ndiff --git a/drivers/net/virtio/virtio_user/vhost_kernel.c b/drivers/net/virtio/virtio_user/vhost_kernel.c\nindex 986b56a7ca..1aed08b2bd 100644\n--- a/drivers/net/virtio/virtio_user/vhost_kernel.c\n+++ b/drivers/net/virtio/virtio_user/vhost_kernel.c\n@@ -22,7 +22,7 @@ struct vhost_kernel_data {\n struct vhost_memory_kernel {\n \tuint32_t nregions;\n \tuint32_t padding;\n-\tstruct vhost_memory_region regions[0];\n+\tstruct vhost_memory_region regions[];\n };\n \n /* vhost kernel ioctls */\ndiff --git a/drivers/net/virtio/virtio_user/vhost_vdpa.c b/drivers/net/virtio/virtio_user/vhost_vdpa.c\nindex 82f25a8674..bd13fe44b4 100644\n--- a/drivers/net/virtio/virtio_user/vhost_vdpa.c\n+++ b/drivers/net/virtio/virtio_user/vhost_vdpa.c\n@@ -70,7 +70,7 @@ struct vhost_iotlb_msg {\n struct vhost_vdpa_config {\n \tuint32_t off;\n \tuint32_t len;\n-\tuint8_t buf[0];\n+\tuint8_t buf[];\n };\n \n struct vhost_msg {\ndiff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h\nindex 99c68cf622..d100ed8762 100644\n--- a/drivers/net/virtio/virtqueue.h\n+++ b/drivers/net/virtio/virtqueue.h\n@@ -309,7 +309,7 @@ struct virtqueue {\n \n \tuint16_t  *notify_addr;\n \tstruct rte_mbuf **sw_ring;  /**< RX software ring. */\n-\tstruct vq_desc_extra vq_descx[0];\n+\tstruct vq_desc_extra vq_descx[];\n };\n \n /* If multiqueue is provided by host, then we support it. */\ndiff --git a/drivers/regex/mlx5/mlx5_rxp.h b/drivers/regex/mlx5/mlx5_rxp.h\nindex 315e3b4ca3..eddc577d79 100644\n--- a/drivers/regex/mlx5/mlx5_rxp.h\n+++ b/drivers/regex/mlx5/mlx5_rxp.h\n@@ -64,7 +64,7 @@ struct mlx5_rxp_match_tuple {\n \n struct mlx5_rxp_response {\n \tstruct mlx5_rxp_response_desc header;\n-\tstruct mlx5_rxp_match_tuple matches[0];\n+\tstruct mlx5_rxp_match_tuple matches[];\n };\n \n #define MLX5_RXP_MAX_MATCHES 254\n@@ -114,7 +114,7 @@ struct mlx5_rxp_rof {\n struct mlx5_rxp_ctl_rules_pgm {\n \tstruct mlx5_rxp_ctl_hdr hdr;\n \tuint32_t count;\n-\tstruct mlx5_rxp_rof_entry rules[0];\n+\tstruct mlx5_rxp_rof_entry rules[];\n } __rte_packed;\n \n /* RXP programming mode setting. */\n",
    "prefixes": [
        "v4",
        "2/4"
    ]
}