fs: Replace zero-length array with flexible-array member
There is a regular need in the kernel to provide a way to declare having a dynamically sized set of trailing elements in a structure. Kernel code should always use “flexible array members”[1] for these cases. The older style of one-element or zero-length arrays should no longer be used[2]. [1] https://en.wikipedia.org/wiki/Flexible_array_member [2] https://www.kernel.org/doc/html/v5.9-rc1/process/deprecated.html#zero-length-and-one-element-arrays Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
This commit is contained in:
Родитель
b08eadd272
Коммит
5e01fdff04
|
@ -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 {
|
||||||
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 {
|
||||||
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 {
|
||||||
__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 {
|
||||||
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 {
|
||||||
|
|
||||||
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 {
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
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))
|
||||||
|
|
|
@ -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))
|
||||||
|
|
Загрузка…
Ссылка в новой задаче