Commit 53760f9b authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'flexible-array-conversions-5.10-rc2' of...

Merge tag 'flexible-array-conversions-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux

Pull more flexible-array member conversions from Gustavo A. R. Silva:
 "Replace zero-length arrays with flexible-array members"

* tag 'flexible-array-conversions-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
  printk: ringbuffer: Replace zero-length array with flexible-array member
  net/smc: Replace zero-length array with flexible-array member
  net/mlx5: Replace zero-length array with flexible-array member
  mei: hw: Replace zero-length array with flexible-array member
  gve: Replace zero-length array with flexible-array member
  Bluetooth: btintel: Replace zero-length array with flexible-array member
  scsi: target: tcmu: Replace zero-length array with flexible-array member
  ima: Replace zero-length array with flexible-array member
  enetc: Replace zero-length array with flexible-array member
  fs: Replace zero-length array with flexible-array member
  Bluetooth: Replace zero-length array with flexible-array member
  params: Replace zero-length array with flexible-array member
  tracepoint: Replace zero-length array with flexible-array member
  platform/chrome: cros_ec_proto: Replace zero-length array with flexible-array member
  platform/chrome: cros_ec_commands: Replace zero-length array with flexible-array member
  mailbox: zynqmp-ipi-message: Replace zero-length array with flexible-array member
  dmaengine: ti-cppi5: Replace zero-length array with flexible-array member
parents bb3540be a38283da
...@@ -47,7 +47,7 @@ enum { ...@@ -47,7 +47,7 @@ enum {
struct intel_tlv { struct intel_tlv {
u8 type; u8 type;
u8 len; u8 len;
u8 val[0]; u8 val[];
} __packed; } __packed;
struct intel_version_tlv { struct intel_version_tlv {
......
...@@ -224,7 +224,7 @@ struct mei_ext_hdr { ...@@ -224,7 +224,7 @@ struct mei_ext_hdr {
u8 type; u8 type;
u8 length; u8 length;
u8 ext_payload[2]; u8 ext_payload[2];
u8 hdr[0]; u8 hdr[];
}; };
/** /**
...@@ -238,7 +238,7 @@ struct mei_ext_meta_hdr { ...@@ -238,7 +238,7 @@ struct mei_ext_meta_hdr {
u8 count; u8 count;
u8 size; u8 size;
u8 reserved[2]; u8 reserved[2];
struct mei_ext_hdr hdrs[0]; struct mei_ext_hdr hdrs[];
}; };
/* /*
...@@ -308,7 +308,7 @@ struct mei_msg_hdr { ...@@ -308,7 +308,7 @@ struct mei_msg_hdr {
u32 dma_ring:1; u32 dma_ring:1;
u32 internal:1; u32 internal:1;
u32 msg_complete:1; u32 msg_complete:1;
u32 extension[0]; u32 extension[];
} __packed; } __packed;
/* The length is up to 9 bits */ /* The length is up to 9 bits */
......
...@@ -402,7 +402,7 @@ struct enetc_psfp_gate { ...@@ -402,7 +402,7 @@ struct enetc_psfp_gate {
u32 num_entries; u32 num_entries;
refcount_t refcount; refcount_t refcount;
struct hlist_node node; struct hlist_node node;
struct action_gate_entry entries[0]; struct action_gate_entry entries[];
}; };
/* Only enable the green color frame now /* Only enable the green color frame now
......
...@@ -198,7 +198,7 @@ static_assert(sizeof(struct stats) == 16); ...@@ -198,7 +198,7 @@ static_assert(sizeof(struct stats) == 16);
struct gve_stats_report { struct gve_stats_report {
__be64 written_count; __be64 written_count;
struct stats stats[0]; struct stats stats[];
}; };
static_assert(sizeof(struct gve_stats_report) == 8); static_assert(sizeof(struct gve_stats_report) == 8);
......
...@@ -116,9 +116,8 @@ static int gve_alloc_stats_report(struct gve_priv *priv) ...@@ -116,9 +116,8 @@ static int gve_alloc_stats_report(struct gve_priv *priv)
priv->tx_cfg.num_queues; priv->tx_cfg.num_queues;
rx_stats_num = (GVE_RX_STATS_REPORT_NUM + NIC_RX_STATS_REPORT_NUM) * rx_stats_num = (GVE_RX_STATS_REPORT_NUM + NIC_RX_STATS_REPORT_NUM) *
priv->rx_cfg.num_queues; priv->rx_cfg.num_queues;
priv->stats_report_len = sizeof(struct gve_stats_report) + priv->stats_report_len = struct_size(priv->stats_report, stats,
(tx_stats_num + rx_stats_num) * tx_stats_num + rx_stats_num);
sizeof(struct stats);
priv->stats_report = priv->stats_report =
dma_alloc_coherent(&priv->pdev->dev, priv->stats_report_len, dma_alloc_coherent(&priv->pdev->dev, priv->stats_report_len,
&priv->stats_report_bus, GFP_KERNEL); &priv->stats_report_bus, GFP_KERNEL);
......
...@@ -194,7 +194,7 @@ struct tcmu_tmr { ...@@ -194,7 +194,7 @@ struct tcmu_tmr {
uint8_t tmr_type; uint8_t tmr_type;
uint32_t tmr_cmd_cnt; uint32_t tmr_cmd_cnt;
int16_t tmr_cmd_ids[0]; int16_t tmr_cmd_ids[];
}; };
/* /*
......
...@@ -1690,7 +1690,7 @@ struct elf_thread_core_info { ...@@ -1690,7 +1690,7 @@ struct elf_thread_core_info {
struct elf_thread_core_info *next; struct elf_thread_core_info *next;
struct task_struct *task; struct task_struct *task;
struct elf_prstatus prstatus; struct elf_prstatus prstatus;
struct memelfnote notes[0]; struct memelfnote notes[];
}; };
struct elf_note_info { struct elf_note_info {
......
...@@ -60,7 +60,7 @@ struct hfs_bnode { ...@@ -60,7 +60,7 @@ struct hfs_bnode {
wait_queue_head_t lock_wq; wait_queue_head_t lock_wq;
atomic_t refcnt; atomic_t refcnt;
unsigned int page_offset; unsigned int page_offset;
struct page *page[0]; struct page *page[];
}; };
#define HFS_BNODE_ERROR 0 #define HFS_BNODE_ERROR 0
......
...@@ -117,7 +117,7 @@ struct hfs_bnode { ...@@ -117,7 +117,7 @@ struct hfs_bnode {
wait_queue_head_t lock_wq; wait_queue_head_t lock_wq;
atomic_t refcnt; atomic_t refcnt;
unsigned int page_offset; unsigned int page_offset;
struct page *page[0]; struct page *page[];
}; };
#define HFS_BNODE_LOCK 0 #define HFS_BNODE_LOCK 0
......
...@@ -22,7 +22,7 @@ struct SU_ER_s { ...@@ -22,7 +22,7 @@ struct SU_ER_s {
__u8 len_des; __u8 len_des;
__u8 len_src; __u8 len_src;
__u8 ext_ver; __u8 ext_ver;
__u8 data[0]; __u8 data[];
} __attribute__ ((packed)); } __attribute__ ((packed));
struct RR_RR_s { struct RR_RR_s {
...@@ -44,7 +44,7 @@ struct RR_PN_s { ...@@ -44,7 +44,7 @@ struct RR_PN_s {
struct SL_component { struct SL_component {
__u8 flags; __u8 flags;
__u8 len; __u8 len;
__u8 text[0]; __u8 text[];
} __attribute__ ((packed)); } __attribute__ ((packed));
struct RR_SL_s { struct RR_SL_s {
...@@ -54,7 +54,7 @@ struct RR_SL_s { ...@@ -54,7 +54,7 @@ struct RR_SL_s {
struct RR_NM_s { struct RR_NM_s {
__u8 flags; __u8 flags;
char name[0]; char name[];
} __attribute__ ((packed)); } __attribute__ ((packed));
struct RR_CL_s { struct RR_CL_s {
...@@ -71,7 +71,7 @@ struct stamp { ...@@ -71,7 +71,7 @@ struct stamp {
struct RR_TF_s { struct RR_TF_s {
__u8 flags; __u8 flags;
struct stamp times[0]; /* Variable number of these beasts */ struct stamp times[]; /* Variable number of these beasts */
} __attribute__ ((packed)); } __attribute__ ((packed));
/* Linux-specific extension for transparent decompression */ /* Linux-specific extension for transparent decompression */
......
...@@ -97,7 +97,7 @@ u64 select_estimate_accuracy(struct timespec64 *tv) ...@@ -97,7 +97,7 @@ u64 select_estimate_accuracy(struct timespec64 *tv)
struct poll_table_page { struct poll_table_page {
struct poll_table_page * next; struct poll_table_page * next;
struct poll_table_entry * entry; struct poll_table_entry * entry;
struct poll_table_entry entries[0]; struct poll_table_entry entries[];
}; };
#define POLL_TABLE_FULL(table) \ #define POLL_TABLE_FULL(table) \
...@@ -836,7 +836,7 @@ SYSCALL_DEFINE1(old_select, struct sel_arg_struct __user *, arg) ...@@ -836,7 +836,7 @@ SYSCALL_DEFINE1(old_select, struct sel_arg_struct __user *, arg)
struct poll_list { struct poll_list {
struct poll_list *next; struct poll_list *next;
int len; int len;
struct pollfd entries[0]; struct pollfd entries[];
}; };
#define POLLFD_PER_PAGE ((PAGE_SIZE-sizeof(struct poll_list)) / sizeof(struct pollfd)) #define POLLFD_PER_PAGE ((PAGE_SIZE-sizeof(struct poll_list)) / sizeof(struct pollfd))
......
...@@ -47,7 +47,7 @@ struct cppi5_host_desc_t { ...@@ -47,7 +47,7 @@ struct cppi5_host_desc_t {
u32 buf_info1; u32 buf_info1;
u32 org_buf_len; u32 org_buf_len;
u64 org_buf_ptr; u64 org_buf_ptr;
u32 epib[0]; u32 epib[];
} __packed; } __packed;
#define CPPI5_DESC_MIN_ALIGN (16U) #define CPPI5_DESC_MIN_ALIGN (16U)
...@@ -139,7 +139,7 @@ struct cppi5_desc_epib_t { ...@@ -139,7 +139,7 @@ struct cppi5_desc_epib_t {
*/ */
struct cppi5_monolithic_desc_t { struct cppi5_monolithic_desc_t {
struct cppi5_desc_hdr_t hdr; struct cppi5_desc_hdr_t hdr;
u32 epib[0]; u32 epib[];
}; };
#define CPPI5_INFO2_MDESC_DATA_OFFSET_SHIFT (18U) #define CPPI5_INFO2_MDESC_DATA_OFFSET_SHIFT (18U)
......
...@@ -3285,7 +3285,7 @@ static inline ino_t parent_ino(struct dentry *dentry) ...@@ -3285,7 +3285,7 @@ static inline ino_t parent_ino(struct dentry *dentry)
*/ */
struct simple_transaction_argresp { struct simple_transaction_argresp {
ssize_t size; ssize_t size;
char data[0]; char data[];
}; };
#define SIMPLE_TRANSACTION_LIMIT (PAGE_SIZE - sizeof(struct simple_transaction_argresp)) #define SIMPLE_TRANSACTION_LIMIT (PAGE_SIZE - sizeof(struct simple_transaction_argresp))
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
*/ */
struct zynqmp_ipi_message { struct zynqmp_ipi_message {
size_t len; size_t len;
u8 data[0]; u8 data[];
}; };
#endif /* _LINUX_ZYNQMP_IPI_MESSAGE_H_ */ #endif /* _LINUX_ZYNQMP_IPI_MESSAGE_H_ */
...@@ -5823,7 +5823,7 @@ struct mlx5_ifc_alloc_modify_header_context_in_bits { ...@@ -5823,7 +5823,7 @@ struct mlx5_ifc_alloc_modify_header_context_in_bits {
u8 reserved_at_68[0x10]; u8 reserved_at_68[0x10];
u8 num_of_actions[0x8]; u8 num_of_actions[0x8];
union mlx5_ifc_set_add_copy_action_in_auto_bits actions[0]; union mlx5_ifc_set_add_copy_action_in_auto_bits actions[];
}; };
struct mlx5_ifc_dealloc_modify_header_context_out_bits { struct mlx5_ifc_dealloc_modify_header_context_out_bits {
...@@ -9761,7 +9761,7 @@ struct mlx5_ifc_mcda_reg_bits { ...@@ -9761,7 +9761,7 @@ struct mlx5_ifc_mcda_reg_bits {
u8 reserved_at_60[0x20]; u8 reserved_at_60[0x20];
u8 data[0][0x20]; u8 data[][0x20];
}; };
enum { enum {
......
...@@ -1419,7 +1419,7 @@ struct ec_response_flash_info_2 { ...@@ -1419,7 +1419,7 @@ struct ec_response_flash_info_2 {
uint16_t num_banks_total; uint16_t num_banks_total;
/* Number of banks described in banks array. */ /* Number of banks described in banks array. */
uint16_t num_banks_desc; uint16_t num_banks_desc;
struct ec_flash_bank banks[0]; struct ec_flash_bank banks[];
} __ec_align4; } __ec_align4;
/* /*
...@@ -2420,12 +2420,12 @@ struct ec_response_motion_sense_fifo_info { ...@@ -2420,12 +2420,12 @@ struct ec_response_motion_sense_fifo_info {
/* Total amount of vector lost */ /* Total amount of vector lost */
uint16_t total_lost; uint16_t total_lost;
/* Lost events since the last fifo_info, per sensors */ /* Lost events since the last fifo_info, per sensors */
uint16_t lost[0]; uint16_t lost[];
} __ec_todo_packed; } __ec_todo_packed;
struct ec_response_motion_sense_fifo_data { struct ec_response_motion_sense_fifo_data {
uint32_t number_data; uint32_t number_data;
struct ec_response_motion_sensor_data data[0]; struct ec_response_motion_sensor_data data[];
} __ec_todo_packed; } __ec_todo_packed;
/* List supported activity recognition */ /* List supported activity recognition */
...@@ -3093,7 +3093,7 @@ struct ec_response_tmp006_get_calibration_v1 { ...@@ -3093,7 +3093,7 @@ struct ec_response_tmp006_get_calibration_v1 {
uint8_t algorithm; uint8_t algorithm;
uint8_t num_params; uint8_t num_params;
uint8_t reserved[2]; uint8_t reserved[2];
float val[0]; float val[];
} __ec_align4; } __ec_align4;
struct ec_params_tmp006_set_calibration_v1 { struct ec_params_tmp006_set_calibration_v1 {
...@@ -3101,7 +3101,7 @@ struct ec_params_tmp006_set_calibration_v1 { ...@@ -3101,7 +3101,7 @@ struct ec_params_tmp006_set_calibration_v1 {
uint8_t algorithm; uint8_t algorithm;
uint8_t num_params; uint8_t num_params;
uint8_t reserved; uint8_t reserved;
float val[0]; float val[];
} __ec_align4; } __ec_align4;
...@@ -5076,7 +5076,7 @@ struct ec_response_pd_log { ...@@ -5076,7 +5076,7 @@ struct ec_response_pd_log {
uint8_t type; /* event type : see PD_EVENT_xx below */ uint8_t type; /* event type : see PD_EVENT_xx below */
uint8_t size_port; /* [7:5] port number [4:0] payload size in bytes */ uint8_t size_port; /* [7:5] port number [4:0] payload size in bytes */
uint16_t data; /* type-defined data payload */ uint16_t data; /* type-defined data payload */
uint8_t payload[0]; /* optional additional data payload: 0..16 bytes */ uint8_t payload[]; /* optional additional data payload: 0..16 bytes */
} __ec_align4; } __ec_align4;
/* The timestamp is the microsecond counter shifted to get about a ms. */ /* The timestamp is the microsecond counter shifted to get about a ms. */
...@@ -5789,7 +5789,7 @@ struct ec_response_fp_encryption_status { ...@@ -5789,7 +5789,7 @@ struct ec_response_fp_encryption_status {
struct ec_response_tp_frame_info { struct ec_response_tp_frame_info {
uint32_t n_frames; uint32_t n_frames;
uint32_t frame_sizes[0]; uint32_t frame_sizes[];
} __ec_align4; } __ec_align4;
/* Create a snapshot of current frame readings */ /* Create a snapshot of current frame readings */
......
...@@ -69,7 +69,7 @@ struct cros_ec_command { ...@@ -69,7 +69,7 @@ struct cros_ec_command {
uint32_t outsize; uint32_t outsize;
uint32_t insize; uint32_t insize;
uint32_t result; uint32_t result;
uint8_t data[0]; uint8_t data[];
}; };
/** /**
......
...@@ -530,7 +530,7 @@ struct module_param_attrs ...@@ -530,7 +530,7 @@ struct module_param_attrs
{ {
unsigned int num; unsigned int num;
struct attribute_group grp; struct attribute_group grp;
struct param_attribute attrs[0]; struct param_attribute attrs[];
}; };
#ifdef CONFIG_SYSFS #ifdef CONFIG_SYSFS
......
...@@ -345,7 +345,7 @@ DESC_ID((id) - DESCS_COUNT(desc_ring)) ...@@ -345,7 +345,7 @@ DESC_ID((id) - DESCS_COUNT(desc_ring))
*/ */
struct prb_data_block { struct prb_data_block {
unsigned long id; unsigned long id;
char data[0]; char data[];
}; };
/* /*
......
...@@ -50,7 +50,7 @@ static bool ok_to_free_tracepoints; ...@@ -50,7 +50,7 @@ static bool ok_to_free_tracepoints;
*/ */
struct tp_probes { struct tp_probes {
struct rcu_head rcu; struct rcu_head rcu;
struct tracepoint_func probes[0]; struct tracepoint_func probes[];
}; };
static inline void *allocate_probes(int count) static inline void *allocate_probes(int count)
......
...@@ -12,12 +12,13 @@ ...@@ -12,12 +12,13 @@
struct msft_cp_read_supported_features { struct msft_cp_read_supported_features {
__u8 sub_opcode; __u8 sub_opcode;
} __packed; } __packed;
struct msft_rp_read_supported_features { struct msft_rp_read_supported_features {
__u8 status; __u8 status;
__u8 sub_opcode; __u8 sub_opcode;
__le64 features; __le64 features;
__u8 evt_prefix_len; __u8 evt_prefix_len;
__u8 evt_prefix[0]; __u8 evt_prefix[];
} __packed; } __packed;
struct msft_data { struct msft_data {
......
...@@ -124,7 +124,7 @@ struct smc_clc_v2_extension { ...@@ -124,7 +124,7 @@ struct smc_clc_v2_extension {
struct smc_clnt_opts_area_hdr hdr; struct smc_clnt_opts_area_hdr hdr;
u8 roce[16]; /* RoCEv2 GID */ u8 roce[16]; /* RoCEv2 GID */
u8 reserved[16]; u8 reserved[16];
u8 user_eids[0][SMC_MAX_EID_LEN]; u8 user_eids[][SMC_MAX_EID_LEN];
}; };
struct smc_clc_msg_proposal_prefix { /* prefix part of clc proposal message*/ struct smc_clc_msg_proposal_prefix { /* prefix part of clc proposal message*/
...@@ -143,7 +143,7 @@ struct smc_clc_msg_smcd { /* SMC-D GID information */ ...@@ -143,7 +143,7 @@ struct smc_clc_msg_smcd { /* SMC-D GID information */
struct smc_clc_smcd_v2_extension { struct smc_clc_smcd_v2_extension {
u8 system_eid[SMC_MAX_EID_LEN]; u8 system_eid[SMC_MAX_EID_LEN];
u8 reserved[16]; u8 reserved[16];
struct smc_clc_smcd_gid_chid gidchid[0]; struct smc_clc_smcd_gid_chid gidchid[];
}; };
struct smc_clc_msg_proposal { /* clc proposal message sent by Linux */ struct smc_clc_msg_proposal { /* clc proposal message sent by Linux */
......
...@@ -101,7 +101,7 @@ struct ima_template_entry { ...@@ -101,7 +101,7 @@ struct ima_template_entry {
struct tpm_digest *digests; struct tpm_digest *digests;
struct ima_template_desc *template_desc; /* template descriptor */ struct ima_template_desc *template_desc; /* template descriptor */
u32 template_data_len; u32 template_data_len;
struct ima_field_data template_data[0]; /* template related data */ struct ima_field_data template_data[]; /* template related data */
}; };
struct ima_queue_entry { struct ima_queue_entry {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment